【问题标题】:webpack --watch exits after building oncewebpack --watch 构建一次后退出
【发布时间】:2017-11-09 16:13:45
【问题描述】:

我使用 webpack --watch 语句在监视模式下运行我的 webpack 来构建我的 ReactJS 应用程序。但是由于某种原因,它现在停止工作。它现在只编译一次代码并终止

我尝试了这篇 SO 帖子中建议的方法:webpack --watch isn't compiling changed files

但是它并没有为我解决问题。 任何帮助都值得赞赏

【问题讨论】:

  • 它是否适用于新项目,还是在您的系统上完全损坏?你在 OSX 上吗?
  • @MichaelLyons,以前可以用,现在不行,我用的是 ubuntu
  • 运行这个命令:echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p 然后通过webpack -w再次运行webpack
  • 是的@MayankShukla,我在互联网上找到了它,并补充说作为答案:)。还是谢谢
  • @MayankShukla,如果你看到了,我已经在我的问题中添加了相同的链接

标签: linux reactjs webpack


【解决方案1】:

问题似乎是由于 inotify 监视限制而出现的

Listen 在 Linux 上默认使用 inotify 来监视目录 变化。遇到系统数量限制的情况并不少见 您可以监控的文件数量。

通过命令可以看到当前的watch限制

$ cat /proc/sys/fs/inotify/max_user_watches

在我的例子中,它是 8192,这是 linux X64 系统的默认值

要临时更改它,我们需要运行以下命令

$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p

为了永久设置它,我们应该运行 run

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

【讨论】:

  • webpack 将很快支持交互式观看模式。我们正在开发此功能。
【解决方案2】:

这主要是因为它监视node_modules 文件夹并超出限制。在这种情况下,不要修改主机系统,而是使用:

  watchOptions: {
    aggregateTimeout: 300,
    poll: 1000,
    ignored: /node_modules/
  }

webpack.config.js 出口。

【讨论】:

  • 编译一次后仍然退出。
猜你喜欢
  • 2022-11-09
  • 2019-09-26
  • 2018-08-28
  • 2020-01-05
  • 1970-01-01
  • 1970-01-01
  • 2017-09-26
  • 1970-01-01
相关资源
最近更新 更多