webpack --watch 不编译更改的文件

IT技术 javascript webpack fsevents
2021-02-22 17:29:19

我尝试运行webpack --watch,在编辑我的 JS 文件后,它不会触发自动重新编译。

我已经尝试webpack使用重新安装npm uninstall但它仍然无法正常工作。

有任何想法吗?

6个回答

如果您的代码没有被重新编译,请尝试增加观察者的数量(在 Ubuntu 中):

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

来源:https : //webpack.github.io/docs/troubleshooting.html

Webpack 3 和ModuleConcatenationPlugin. 省略ModuleConcatenationPlugin允许继续观看。
2021-04-21 17:29:19
这解决了我在 Chromebook 上运行 chroot (Ubuntu) 时的问题
2021-05-02 17:29:19
@SimonH 尝试/etc/sysctl.conf直接查看和更改改变resp。设置那个键值?(如果您找不到应用 ad-hoc ( sysctl -p)的命令,那么只需重新启动一次,您应该就可以了...)
2021-05-04 17:29:19
我建议之前检查手表的数量,以确保它没有增加(给你一个想法,如果这可能是问题的话):即sudo sysctl -a | grep max_user_watches
2021-05-15 17:29:19
sudo sysctl -p不适用于小牛队。有什么新想法吗?
2021-05-16 17:29:19

仅供参考:似乎 OS X 可能有一个文件夹被损坏并且不再为它自己和任何子文件夹发送fsevents(它watchpack/ chokidar/Finder 使用)。我不能确定这就是发生在你身上的事情,但这对我和我的一位同事来说非常令人沮丧。

我们能够重命名损坏的父文件夹,然后按预期立即观察事件。有关更多信息,请参阅此博客文章:http : //livereload.com/troubleshooting/os-x-fsevents-bug-may-prevent-monitoring-of-certain-folders/

上面链接中推荐的修复方法是:

  • 重新启动计算机
  • 通过磁盘工具检查磁盘和修复权限
  • 将文件夹添加到 Spotlight 隐私列表(未索引的文件夹列表),然后从中删除,有效地强制重新索引
  • 重命名文件夹,然后可能将其重新命名
  • 重新创建文件夹并将旧内容移回其中

前两个对我们不起作用,没有尝试 Spotlight 的建议,重新创建也没有必要。

我们能够通过打开 Finder 并在每个连续的父文件夹中创建文件来找到根本问题文件夹,直到一个文件立即出现(因为 Finder 也会被这个错误感染)。不更新的最根目录文件夹是罪魁祸首。我们只是mvmv它改回原来的名字,然后观察者工作了。

不知道是什么导致了损坏,但我很高兴能解决这个问题。

不是 100% 确定这是原因,但是在尝试运行 watchify 时关闭我的 Dropbox 同步客户端对我有用。npm install与同步客户端的实现方式一样,运行和重命名目录都是非常密集的操作。
2021-04-23 17:29:19
webpack 3 和 ModuleConcatenationPlugin 当前存在一个问题,它阻止监视文件更改。省略它似乎允许它工作。
2021-04-27 17:29:19
从 2017 年开始,这个答案仍然让我脱离了地狱!一直以为我的 webpack 配置是错误的!
2021-05-06 17:29:19
我将我的 ~/Sites 文件夹重命名为其他内容,然后返回到 ~/Sites 并修复了错误。它还修复了其他项目中的其他几个错误。谈论用 1 块石头杀死 2 只鸟。太感谢了!!!
2021-05-10 17:29:19
你真的救了我的命
2021-05-11 17:29:19

将以下代码添加到我的 webpack 配置文件中为我解决了这个问题。不要忘记忽略您的 node_modules 文件夹,因为这会降低 HMR(热module更换)的性能:

watchOptions: {
  poll: true,
  ignored: /node_modules/
}
@Lokesh webpack 可以监视文件并在文件更改时重新编译。默认情况下,监视模式是关闭的,因此watch: true也可以正常工作。轮询是由一个程序或设备不断检查其他程序或设备以查看它们处于什么状态,通常是查看它们是否仍然连接或想要通信。因此,设置poll: true允许 webpack 检查程序的状态,以查看是否进行了任何更改,或者至少我假设正在发生的更改。
2021-04-20 17:29:19
重命名和重新启动后,这对我(osx)有用。荣誉!
2021-04-28 17:29:19
链接文档:该poll选项由watchpack定义
2021-05-02 17:29:19
它也适用于 Ubuntu 20.04 LTS 的 MacOS Monterey 和 Vagrant。谢谢。
2021-05-07 17:29:19

我在使用 WebStorm 时遇到了这个问题。

禁用设置 -> 系统设置 ->“安全写入”为我解决了这个问题。

WebPack 故障排除中找到了这样做的建议

谢谢!问题出在 PhpStorm 上真的不明显!
2021-04-24 17:29:19

只是添加到可能的解决方案中:我将项目文件夹放在 Dropbox 文件夹中,将其移出为我解决了问题。(OS X)

你知道为什么会这样吗?@莱斯
2021-04-28 17:29:19
这也解决了我的问题。感谢那!
2021-05-03 17:29:19
这对我也有用——我希望这个答案更接近顶部。OS X 也适合我(El Capitan)。
2021-05-14 17:29:19