如何在为服务器开发但不重新编译 webpack 客户端配置时使用 nodemon?

Posted

技术标签:

【中文标题】如何在为服务器开发但不重新编译 webpack 客户端配置时使用 nodemon?【英文标题】:How to use nodemon while developing for server but NOT recompile a webpack client config? 【发布时间】:2017-03-04 14:44:00 【问题描述】:

我正在设置一个通用的 React 应用,我希望在开发过程中获得流畅的体验。

现在,当我在服务器入口文件上运行 nodemon 时:

    它创建了一个express 应用程序 它为客户端编译 webpack app.use(compiledClientWebpack) 做了一些路线 然后app.listen()

我有 nodemon 忽略了我的客户端文件夹,以便 webpack 热重新加载对客户端文件夹的更改。太好了。

但是在服务器文件夹中,nodemon 将重新启动服务器入口文件,即使客户端 webpack 没有更改,它也会为客户端重新编译 webpack。

显然这是我想删除的不必要的等待时间。但是我不完全确定如何做到这一点。有什么建议吗?

【问题讨论】:

【参考方案1】:

如果您的服务器编译 webpack 包,我个人不建议使用 nodemon,而是建议使用以下两种方法之一:

1) 使用 webpack-hot-server-middleware 之类的东西来热替换您的服务器包。

2) 以described here实现服务器端热模块替换

免责声明:我是webpack-hot-server-middleware 的作者,所以我认为webpack-hot-server-middleware 是更好的方法,因为移动部件更少,特别是如果您已经在使用webpack-dev-middlewarewebpack-hot-middleware(您可以阅读关于它在这里的工作原理——Webpack hot module replacement in server code)。此外,您可以找到working implementation here。

【讨论】:

以上是关于如何在为服务器开发但不重新编译 webpack 客户端配置时使用 nodemon?的主要内容,如果未能解决你的问题,请参考以下文章

Webpack 开发服务器不热重载 .vue 文件

热模块更换 - 更新但不重新渲染

.json 数据显示在 webpack 服务器中,但不显示在生产版本中

webpack 使用教程--实时刷新测试

以角度重新编译元素,但不重新绑定角度事件[重复]

Webpack 开发服务器在 css 更改时慢编译顺风