Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Express res.sendFile强制下载而不是提供HTML_Javascript_Node.js_Express - Fatal编程技术网

Javascript Express res.sendFile强制下载而不是提供HTML

Javascript Express res.sendFile强制下载而不是提供HTML,javascript,node.js,express,Javascript,Node.js,Express,我对Express的res.sendFile函数有一个最奇怪的问题。以下是我的index.js中的代码: app.get('/', function(req, res){ var path = __dirname + '/views/index.ejs'; res.sendFile(path); }); 没有什么复杂的,但是当导航到localhost时,浏览器会下载HTML而不是显示它。我不知道这是否是expressRouter-唯一的事情,但我通过在expressRouter

我对Express的
res.sendFile
函数有一个最奇怪的问题。以下是我的
index.js
中的代码:

app.get('/', function(req, res){
    var path = __dirname + '/views/index.ejs';
    res.sendFile(path);
});

没有什么复杂的,但是当导航到localhost时,浏览器会下载HTML而不是显示它。

我不知道这是否是
expressRouter
-唯一的事情,但我通过在
expressRouter
上声明
get
函数,让主应用程序使用此路由器,然后,最重要的是,使用
res.render
而不是
res.sendFile

var router = express.Router();

router.get('/', function(req, res){
   res.render(__dirname + '/views/index.ejs');
});

如果要渲染,只需使用express实用程序函数

app.get("/", function(req, res) {
    res.render(__dirname + "/views/index.ejs");
});

是的,当您使用express明确提供的路由器时,这是完美的。