gpt4 book ai didi

javascript - 在 Express 应用程序中使用 Nunjucks

转载 作者:行者123 更新时间:2023-11-30 09:43:56 29 4
gpt4 key购买 nike

我有一个包含 Express 的 Node 应用程序。到目前为止,我一直在使用 Swig 作为我的 View 引擎。我这样配置这个 View 引擎:

app.engine('html', swig.renderFile);
app.set('views', path.join(__dirname, '../views'));
app.set('view engine', 'html');

这种方法对我很有效。但是,由于 Swig 已被弃用,我正在尝试转移到 Nunjucks。为了做到这一点,我做了以下事情:

nunjucks.configure('views', {
autoescape: true,
cache: false,
express: app
});

app.engine('html', nunjucks.render);
app.set('views', path.join(__dirname, '../views'));
app.set('view engine', 'html');

这行不通。我收到运行时错误,但我无法判断实际抛出的错误是什么。为了加载最基本的 View ,我尝试加载以下 HTML 页面:

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<h1>Hello</h1>
</body>
</html>

这是一个非常基本的 HTML View ,不使用任何模板。我只想加载一个 HTML View ,并将 nunjucks 设置为 View 引擎。即使这样,我仍然会遇到错误。

我可以看到 render function , 有一个回调。看起来回调有一个我可以查看的错误对象。但是,我不知道如何在 app.engine('html', nunjucks.render); 行中实际使用该回调。

任何见解将不胜感激

最佳答案

删除这些行:

app.engine('html', nunjucks.render);
app.set('views', path.join(__dirname, '../views'));
app.set('view engine', 'html');

更新代码:

var nunjucks = require('nunjucks');
var app = express();

// looks for html in views folder relative to current working directory
nunjucks.configure('views', {
autoescape: true,
cache: false,
express: app
});

app.get('/', function(req, res) {
res.render('index.html');
});

关于javascript - 在 Express 应用程序中使用 Nunjucks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39781767/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com