我第一次尝试 doT.js 并编写了一个非常基本的服务器设置:
'use strict';
var express = require('express');
var app = express();
var doT = require('express-dot');
var pub = __dirname+'/public';
var vws = __dirname+'/views';
app.set('views', vws);
app.set('view engine', 'dot');
app.engine('html', doT.__express);
app.use('/css',express.static(pub + '/css'));
app.use('/img',express.static(pub + '/imgs'));
app.use('/js',express.static(pub + '/js'));
app.get('/', function(req, res){
res.render(vws + '/index.html', { title: 'dynamic title' });
});
app.listen(8080);
console.log('Server running on port 8080');
当我运行服务器并转到 myaddress:8080 时,我收到以下错误:错误:ENOENT,打开“/home/myproject/views/layout.html”
如果我尝试用 res.sendFile 调用 index.html 它可以工作(当然我不能那样传递变量)
res.sendFile(vws + '/index.html')
我哪里错了?当我没有看到任何示例提到这样的文件时,为什么我收到一个似乎与打开“layout.html”失败的尝试有关的错误?
我需要使用 res.render 将变量传递给模板,但是我发现的所有示例都按照我第一次尝试的方式进行。