我在使用模板引擎哈巴狗表达执行静态文件时遇到了麻烦。
我从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)
请帮助我,我在这段代码上挣扎了这么长时间。
答案 0 :(得分:1)
首先:
在代码的第3行,您忘记了将分号(;
)放在最后。
其次:
在此行
res.render('index', { title: 'Hey', message: 'Hello there!' });
我不知道您为什么使用title, message
。我通常使用。
res.render('index');
我希望这会有所帮助!