我已在我的工作区中安装了nodemon
本地,但即使在更改后它在终端中重新启动,也不会刷新浏览器页面。我每次都要手动刷新它。
我在环境中运行了Express,Node,React和Webpack。
我的设置就是这样 -
我的package.json
启动server.js
-
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon server.js"
},
和server.js
是 -
var express = require('express');
var app = express();
app.use(express.static('public'));
app.listen(3000, function () {
console.log("Express server is up on port 3000");
});
webpack配置文件中的entry point
是 -
module.exports = {
entry: './public/scripts/app.jsx',
output: {
path: __dirname,
filename: './public/scripts/bundle.js'
}
我应该怎么做才能修复它?
更新 -
我做了video来描述情况,如果有帮助的话。
答案 0 :(得分:8)
nodemon仅用于在服务器代码更改时重新启动服务器。它没有在浏览器中重新加载页面的功能。如果您想要自动浏览器重新加载,您可以运行除了nodemon之外的webpack dev服务器。当您的客户端代码发生变化时,webpack dev服务器可以在浏览器中重新加载页面,如果您使用其热模块重新加载功能,它甚至可以在浏览器中更新页面而无需重新加载整页。
答案 1 :(得分:1)
对于那些需要使用nodemon并在更改时重新加载浏览器的人,我在这里回复了https://stackoverflow.com/a/51089425/7779953
解决方案是Nodemon +浏览器同步+ Gulp + Express服务器
答案 2 :(得分:-1)
"scripts": {
"start": "nodemon server.js -e html,js,css"
},
服务器js中的
var reload = require('reload')
app.listen(3000, () => {
console.log(`Listening on port 3000`);
})
reload(app);
index.html中的
<body>
<h1>ron</h1>
<script src="/reload/reload.js"></script> <!-- it's necessary -->
</body>