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

问题描述 投票:1回答:1

我使用模板引擎哈巴狗表达执行静态文件时遇到问题。

我从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)

请帮助我,我在这段代码中挣扎了这么久。

node.js express localhost pug
1个回答
1
投票

首先:

在你的代码的第3行,你忘了把分号(;)放在最后。

其次:

在这条线上

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

我不知道你为什么使用title, message。我经常使用。

res.render('index');

我希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.