要在 Koa 2 中使用 Nunjucks 模板引擎,你需要进行一些额外的设置。以下是一个示例代码,演示了如何在 Koa 2 中集成 Nunjucks:
首先,确保已经安装了 Koa 和 Nunjucks:
npm install koa nunjucks
然后,在项目中创建一个名为 app.js
的文件,并添加以下代码:
const Koa = require('koa');
const nunjucks = require('nunjucks');
const path = require('path');
const app = new Koa();
// 配置 Nunjucks 模板引擎
nunjucks.configure(path.join(__dirname, 'views'), {
autoescape: true,
noCache: true,
express: app
});
// 中间件处理
app.use(async (ctx) => {
// 渲染模板
await ctx.render('index.html', {
title: 'Hello Nunjucks!',
message: 'Welcome to Koa 2 with Nunjucks!'
});
});
// 启动服务器
const port = 3000;
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
在这个示例中:
- 我们引入了 Koa、Nunjucks 和 path 模块。
- 创建了一个 Koa 应用实例。
- 使用
nunjucks.configure()
方法配置了 Nunjucks 模板引擎。在这里,我们指定了模板文件的路径为views
文件夹,启用了自动转义,并禁用了模板缓存以方便开发调试。 - 在中间件中使用
ctx.render()
方法来渲染模板。这个方法会自动将渲染结果作为响应发送给客户端。 - 启动了服务器并监听在 3000 端口。
接下来,在项目根目录下创建一个名为 views
的文件夹,并在其中创建一个名为 index.html
的模板文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title }}</title>
</head>
<body>
<h1>{{ title }}</h1>
<p>{{ message }}</p>
</body>
</html>
最后,在命令行中运行以下命令启动应用:
node app.js
现在,打开浏览器并访问 http://localhost:3000
,你应该能够看到渲染后的模板页面,显示了从服务器发送的数据。