我使用模板引擎哈巴狗表达执行静态文件时遇到问题。
我从default express.js site doc和this tut from tutorialspoint那里学习了这两个教程。
我正在使用Windows 8.1。我安装了(pug.js)模板引擎。这是我的代码;我制作了一个app.js文件,这是它的代码;
var express = require('express');
var app = express();
app.set('views', './views')
app.set('view engine', 'pug');
app.get('/', function (req, res) {
res.render('index', { title: 'Hey', message: 'Hello there!' });
});
app.listen(3000);
我用目录/视图创建了一个index.pug文件。这是它的代码;
html
head
title= title
body
h1= message
请告诉我有什么问题。当我访问localhost:3000
我收到这个错误
Error: Failed to lookup view "index" in views directory "./views"
at EventEmitter.render (C:\Users\PureTech\node_modules\express\lib\application.js:579:17)
at ServerResponse.render (C:\Users\PureTech\node_modules\express\lib\response.js:960:7)
at C:\Users\PureTech\desktop\app\app.js:9:7
at Layer.handle [as handle_request] (C:\Users\PureTech\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\PureTech\node_modules\express\lib\router\route.js:131:13)
at Route.dispatch (C:\Users\PureTech\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Users\PureTech\node_modules\express\lib\router\layer.js:95:5)
at C:\Users\PureTech\node_modules\express\lib\router\index.js:277:22
at Function.process_params (C:\Users\PureTech\node_modules\express\lib\router\index.js:330:12)
at next (C:\Users\PureTech\node_modules\express\lib\router\index.js:271:10)
请帮助我,我在这段代码中挣扎了这么久。
首先:
在你的代码的第3行,你忘了把分号(;
)放在最后。
其次:
在这条线上
res.render('index', { title: 'Hey', message: 'Hello there!' });
我不知道你为什么使用title, message
。我经常使用。
res.render('index');
我希望这有帮助!