试图渲染一个修女模板,但得到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);
}
不知道这里出了什么问题。
小智 7
我有同样的问题,我的解决方案是使用路径模块:
const njk = require('nunjucks');
return njk.render(path.resolve(__dirname, '../views/email/' + 'email' + '.html'), articles);
我有同样的问题。我在文档中找到了这个:
在节点中,'views' 将是相对于当前工作目录的路径。
如果在根目录运行节点服务器,模板路径将为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')...