使用Webpack Dev Server时可以强制重新编译吗?

时间:2016-11-21 10:18:49

标签: webpack webpack-dev-server

我在一个相当大的项目中使用webpack-dev-server。有时,当我保存文件时,它不会重新编译,因为它应该如此,并且我被迫重复:w(Vim中的save命令),直到它响应几次。开发服务器“注意到”我正在保存文件并触发重新编译需要花费多长时间,有时甚至会重新启动整个开发服务器。

有没有办法以同样的方式手动强制重新编译应该这样做?我可以将路径发送到我想要以某种方式重新编译的文件吗?

2 个答案:

答案 0 :(得分:3)

这不是库存webpack体验,因此没有内置支持外部工具来触发重建(这应该已经由系统事件促成)。

webpack使用chokidar来监视文件系统的更改。尝试使用CHOKIDAR_USEPOLLING=250 webpack-dev-server $ARGS运行,看看是否能改善您的体验。

如果它不起作用,我恐怕你不得不求助于通过Node API运行服务器,然后暴露一些你可以ping更改的端点。

答案 1 :(得分:1)

您的问题中有两个问题。一个用于webpack,一个用于Vim。

重新触发webpack的最简单方法是“愚弄”"认为观看的文件改变了。跟touch命令打个招呼。如果您监视的某个文件是例如README.md,则可以在您喜欢的终端中键入touch README.md,webpack将发挥其魔力(此命令会将目标文件的时间戳更新为' now&# 39。)

在使用Vim的情况下,还会发生其他事情。当您:w时,根据Vim配置的文件保存行为,Vim可能会决定重命名旧文件并创建新文件,将缓冲区保存到新创建的文件中。这使得webpack观察者更难注意到变化。但是,这可以在Vim中更改。在.vimrc添加一行的问题,请参阅:https://github.com/webpack/webpack/issues/781#issuecomment-95523711

总结一下,手动重新触发webpack构建:

触摸项目中的文件 - > touch file/in/project.fun
(或)
更改您的.vimrc - > :set backupcopy=yes