Nodemon没有在React-Express-Node App中刷新浏览器

时间:2017-04-01 04:53:23

标签: javascript reactjs webpack nodemon

我已在我的工作区中安装了nodemon 本地,但即使在更改后它在终端中重新启动,也不会刷新浏览器页面。我每次都要手动刷新它。

我在环境中运行了Express,Node,React和Webpack。

我的设置就是这样 -

enter image description here

我的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来描述情况,如果有帮助的话。

3 个答案:

答案 0 :(得分:8)

nodemon仅用于在服务器代码更改时重新启动服务器。它没有在浏览器中重新加载页面的功能。如果您想要自动浏览器重新加载,您可以运行除了nodemon之外的webpack dev服务器。当您的客户端代码发生变化时,webpack dev服务器可以在浏览器中重新加载页面,如果您使用其热模块重新加载功能,它甚至可以在浏览器中更新页面而无需重新加载整页。

答案 1 :(得分:1)

对于那些需要使用nodemon并在更改时重新加载浏览器的人,我在这里回复了https://stackoverflow.com/a/51089425/7779953

解决方案是Nodemon +浏览器同步+ Gulp + Express服务器

答案 2 :(得分:-1)

package.json中的

"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>