我在一个相当大的项目中使用webpack-dev-server
。有时,当我保存文件时,它不会重新编译,因为它应该如此,并且我被迫重复:w
(Vim中的save命令),直到它响应几次。开发服务器“注意到”我正在保存文件并触发重新编译需要花费多长时间,有时甚至会重新启动整个开发服务器。
有没有办法以同样的方式手动强制重新编译应该这样做?我可以将路径发送到我想要以某种方式重新编译的文件吗?
答案 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
触摸项目中的文件 - > touch file/in/project.fun
(或)
更改您的.vimrc
- > :set backupcopy=yes