我是nodejs的新手,并在我的nodejs app上做了一些测试。代码基本上就是这样。
import express from 'express';
import jsonfile from "jsonfile";
const app = express();
const PORT = process.env.PORT || 3002;
let global=0;
app.use(express.static(`${__dirname}/assets`));
app.use((req, res, next) => {
//write file
const file = '/path/data.json';
var obj = {
name:'cd'
};
jsonfile.writeFile(file,obj,{spaces: 2}, (err)=>{
console.error(err);
})
next();
})
app.get('/test', (req, res, next) => {
global++
res.send(''+global);
})
app.listen(PORT, () => {
console.log(`App listening on port ${PORT}!`);
});
我在localhost上构建它,并在浏览器中输入http://localhost:3002/test。该应用程序将全局计数器发送到浏览器,但如果我刷新页面,我发现我的nodejs应用程序重新启动,计数器不会更改。如果我注释掉jsonfile.writeFile部分并像以前一样执行相同的过程,则nodejs应用程序将不会重新启动,并且每次刷新页面时计数器都会增加。那是为什么?
答案 0 :(得分:1)
正如您评论nodemon
强制页面重新加载(实时重新加载),以便您立即查看更改。
如果您不想在每次刷新页面时自动刷新,请使用node <your_script_name.js>
或node <any_command_defined_in_scripts>
(适用的任何内容)而不是nodemon
。
希望这有帮助!