Node.js 尝试呈现静态HTML页面时出现TypeError
当对根目录(Node.js 尝试呈现静态HTML页面时出现TypeError,node.js,express,Node.js,Express,当对根目录(/)发出GET请求时,我试图呈现一个静态HTML页面 但是,我在访问根目录时收到以下错误(http://localhost:3000/): 项目结构 index.js node_modules public |-- html | |--index.html index.js var express = require('express'); var app = express(); var port = 3000; app.use(express.static(__dirna
/
)发出GET请求时,我试图呈现一个静态HTML页面
但是,我在访问根目录时收到以下错误(http://localhost:3000/
):
项目结构
index.js
node_modules
public
|-- html
| |--index.html
index.js
var express = require('express');
var app = express();
var port = 3000;
app.use(express.static(__dirname + '/public'));
app.listen(port);
console.log('Server running on port ' + port + '.');
app.get('/', function(req, res) {
app.render(__dirname + '/html/index.html');
})
我可以通过转到http://localhost:3000/html/index.html
。但是,调用app.render()
失败。我怀疑它与我要传递到的app.render()
目录有关,请删除此项
app.get('/', function(req, res) {
app.render(__dirname + '/html/index.html');
});
请再次尝试使用它。只需删除此项即可
app.get('/', function(req, res) {
app.render(__dirname + '/html/index.html');
});
再试一次
app.render
,它应该是res.render
res.render
应该使用模板引擎来呈现内容,例如,mustache、ejs、jade等。您不应该使用它来呈现纯html文件res.sendFile
app.render
,它应该是res.render
res.render
应该使用模板引擎来呈现内容,例如,mustache、ejs、jade等。您不应该使用它来呈现纯html文件res.sendFile
res而不是函数中的应用程序
res而不是函数中的app使用
res.sendFile
而不是app.render
。我认为express
是直接呈现html
文件。使用res.sendFile
而不是app.render
。我认为express
是直接呈现html
文件。
app.get('/', function(req, res) {
res.sendFile(__dirname + '/html/index.html');
});
app.get('/', function(req, res) {
res.render(__dirname + '/html/index.html');
})