--watch 从 webpack 4 更新到 5 后不起作用

Spe*_*und 5 javascript webpack windows-subsystem-for-linux webpack-5

我一直在将一个项目从 Webpack 4 迁移到 5 并且遇到了障碍。该--watch选项不再适用于我的配置,我已经尝试了所有我能找到的方法。

const webpack = require('webpack');
const path = require('path');

const PATHS = {
  build: path.join(__dirname, "dist")
}

const baseConfig = {
  entry: {
    main: './js/router.js',
  },
  output: {
    path: PATHS.build,
    filename: `[name].[chunkhash].js`,
    chunkFilename:`[name].[chunkhash].js`,
    publicPath: '/dist'
  }
  //loaders and stuff
}

module.exports = baseConfig;
Run Code Online (Sandbox Code Playgroud)

webpack --watch --progress --mode development

这就是配置可以归结为导致问题的原因。Webpack 最初构建得很好,我可以在本地查看页面。 在此处输入图片说明

但是对入口点或其导入的任何模块的任何进一步更改都不会重新编译。我在启动命令中添加的进度选项没有效果。

我怀疑问题出在 WSL 上。当我升级到 webpack 5 时,我遇到了这个问题 出于某种原因,webpack 5 会尝试扫描系统文件,如果它位于/mnt/c并获取锁定错误。我最终确定了这个答案并将我的项目所在的位置从/mnt/c/dev/usr/local/dev. 这解决了锁定问题,我现在在这里。

我也尝试添加到我的 webpack 配置中:

watchOptions: {
    poll: true
}
Run Code Online (Sandbox Code Playgroud)

并尝试使用不同的轮询时间。没有什么给了我不同的结果。