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

ahs*_*tro 5 webpack webpack-dev-server

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

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

Ami*_*dor 5

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

重新触发 webpack 的最简单方法是“愚弄它”,让它认为所监视的文件已更改。向命令问好touch。例如,如果您观看的文件之一是README.md,您可以在您最喜欢的终端中输入touch README.md,然后 webpack 将发挥其魔力(此命令将目标文件的时间戳更新为“现在”)。

在使用 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


Fil*_*vić 4

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

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

如果它不起作用,恐怕您将不得不通过 Node API 运行服务器,然后公开一些可以 ping 更改的端点。