Node.JS不刷新Nunjuck模板

xiozqbni  于 2023-02-15  发布在  Node.js
关注(0)|答案(3)|浏览(126)

我使用Node.JS和Nunjuck制作模板,当我修改. njk文件时,我必须停止Node.JS服务器,然后重新启动,这样修改才会反映到浏览器上(localhost:80)。
下面是我的app.js(服务器)的外观:

var app = require("express")(),
nunjucks = require('nunjucks'),
server = require("http").createServer(app),
io = require("socket.io").listen(server)
path = require("path");

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

app.get("/", function (req, res) 
{
res.render(__dirname + "/views/index.njk");
});

server.listen(80);

在我的index.njk中,我有两行:{% set x = 5 %}{{ x }}
例如,当我将5的值更改为7时,必须重新启动node.JS服务器,然后刷新页面才能得到7。如果只刷新页面而不重新启动服务器,仍然会得到5。

1l5u6lss

1l5u6lss1#

您是否正在使用nodemon?如果没有,请执行以下操作:

npm i -D nodemon

请执行以下操作:

"scripts": {
    "start": "nodemon LOCATION/OF/index.js"
  }

现在你必须运行npm rum start来构建你的项目。
在“LOCATION/OF/index.js”上应该是这样的:nodemon源代码/索引. js
恶魔https://www.npmjs.com/package/nodemon

hk8txs48

hk8txs482#

问题是nodemon不会监视.njk文件中的更改。

enyaitl3

enyaitl33#

你可以用nodemon
默认情况下,监视扩展的更改:js,json,医学博士
下面介绍如何add .njk
然后运行以下命令:

npm install nodemon -g
nodemon app.js

相关问题