我不能用express.js执行jade(pug)

时间:2017-01-13 12:00:04

标签: node.js express localhost pug

我在使用模板引擎哈巴狗表达执行静态文件时遇到了麻烦。

我从default express.js site docthis 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)

请帮助我,我在这段代码上挣扎了这么长时间。

1 个答案:

答案 0 :(得分:1)

首先:

在代码的第3行,您忘记了将分号(;)放在最后。

其次:

在此行

res.render('index', { title: 'Hey', message: 'Hello there!' });

我不知道您为什么使用title, message。我通常使用。

res.render('index');

我希望这会有所帮助!