如果我报告了一个在论坛中经常被处理的问题,我很抱歉。我收到找不到模板的错误消息。
错误:找不到模板: D:\Development\src\nunjucks\pages\templates\text.njk
我在目录结构规范中做错了什么?有没有办法从像gulp这样的双节棍文件中生成html文件?大口大口地喝就行了。
这是node.js的脚本:
const express = require('express');
const app = express();
const server = require('http').Server(app);
const nunjucks = require('nunjucks');
app.use(express.static('dist'));
nunjucks.configure('src/nunjucks', {
autoescape: true,
express: app,
watch: true
});
app.engine ('njk', nunjucks.render);
app.set('view engine', 'njk');
app.get('/', (req, res) => {
res.render('pages/index2');
console.log("index");
})
server.listen(3010, () => {
console.log('http://localhost:' + 3010);
})下面是目录结构:
app.js
gulpfile.js
|-src
| |-nunjucks
| |-pages
| | index.njk
| |-templates
| text.njk这是index.njk文件:
<html lang="en">
<head>
<title>Test</title>
<meta charset="utf-8">
</head>
<body>
<h1>Header Test</h1>
{% include "text.njk" %}
</body>
</html>发布于 2020-07-18 14:12:35
您的所有模板都将从您传递给nunjucks.configure的路径中解析出来。
在您的例子中,您应该包含带有来自src/nunjucks的路径的模板。
例如,templates/text.njk。
发布于 2020-07-20 14:36:33
这就是node.js脚本中的解决方案
nunjucks.configure('src/nunjucks', {
autoescape: true,
express: app,
cache: false,
watch: true
});
// app.set('views', 'src/nunjucks/pages');
app.engine ('njk', nunjucks.render);
app.set('view engine', 'njk');
app.get('/', (req, res) => {
res.render('pages/index.njk');
})
app.get('/index.html', (req, res) => {
res.render('pages/index.njk');
})和index.html文件
<html lang="en">
<head>
<title>Test</title>
<meta charset="utf-8">
</head>
<body>
<h1>Header Test</h1>
{% include "../templates/text.njk" %}
</body>
</html>https://stackoverflow.com/questions/62949526
复制相似问题