nunjucks:找不到模板
nunjucks: Template not found
正在尝试渲染 nunjucks 模板,但得到 Error: template not found: email.html
。
server/
views/
email/
email.html
workers/
email.worker.js
//email.worker.js
function createMessage(articles) {
console.log(__dirname) // /<path>/server/workers
nunjucks.configure('../views/email/');
return nunjucks.render('email.html', articles);
}
不知道这里出了什么问题。
我遇到了同样的问题,我的解决方案是使用路径模块:
const njk = require('nunjucks');
return njk.render(path.resolve(__dirname, '../views/email/' + 'email' + '.html'), articles);
我有同样的问题。我在 documentation:
找到了这个
In node, 'views' would be a path relative to the current working directory.
如果你运行根目录下的节点服务器,模板路径为server/views
.
nunjucks.configure('server/views/email/');
return nunjucks.render('email.html', articles);
在我的例子中,服务器脚本在 public
目录中。
所以,当我从根目录 运行 服务器时,nunjucks 配置将如下所示:
nunjucks.configure('src/templates');
return nunjucks.render('index.html', { name : 'Dian' });
有效。
但是如果我从 public
目录 运行 服务器,将找不到模板。
遇到了同样的问题,如果有帮助,试试这个。如果您使用的是 express 并且有一个 views
文件夹:
来自 nunjucks
文档
var app = express();
nunjucks.configure('views', {
autoescape: true,
express: app
});
你可以使用nodejs的__dirname
为你解析路径为
nunjucks.configure(__dirname + '/views')...
正在尝试渲染 nunjucks 模板,但得到 Error: template not found: email.html
。
server/
views/
email/
email.html
workers/
email.worker.js
//email.worker.js
function createMessage(articles) {
console.log(__dirname) // /<path>/server/workers
nunjucks.configure('../views/email/');
return nunjucks.render('email.html', articles);
}
不知道这里出了什么问题。
我遇到了同样的问题,我的解决方案是使用路径模块:
const njk = require('nunjucks');
return njk.render(path.resolve(__dirname, '../views/email/' + 'email' + '.html'), articles);
我有同样的问题。我在 documentation:
找到了这个In node, 'views' would be a path relative to the current working directory.
如果你运行根目录下的节点服务器,模板路径为server/views
.
nunjucks.configure('server/views/email/');
return nunjucks.render('email.html', articles);
在我的例子中,服务器脚本在 public
目录中。
所以,当我从根目录 运行 服务器时,nunjucks 配置将如下所示:
nunjucks.configure('src/templates');
return nunjucks.render('index.html', { name : 'Dian' });
有效。
但是如果我从 public
目录 运行 服务器,将找不到模板。
遇到了同样的问题,如果有帮助,试试这个。如果您使用的是 express 并且有一个 views
文件夹:
来自 nunjucks
文档
var app = express();
nunjucks.configure('views', {
autoescape: true,
express: app
});
你可以使用nodejs的__dirname
为你解析路径为
nunjucks.configure(__dirname + '/views')...