繁体   English   中英

为什么我在 vue.config.js 中的chainWebpack 只在我修改后第一次生效?

[英]Why does my chainWebpack in vue.config.js only work the first time after I change it?

我在 Windows 上将 VueJs 与 NodeJs 服务器一起使用。 我想用 worker-loader 模块实现一个 JavaScript Worker。


我在我的 vue.config.js 文件中实现了一个 chainWebpack 规则,但它只在我第一次在我的控制台中使用“npm run serve”构建 devServer 时有效。

当我添加规则时,我的测试工作人员会正确加载并响应消息。 当我重新启动 devServer 时,加载工作程序时出现 MIME 类型错误。

然后,如果我以任何方式更改 chainWebpack 函数,即通过更改规则名称,规则将再次正确应用。

module.exports = {
  chainWebpack: (config) => {
    config.module
      .rule('worker-loader')
      .test(/\.worker\.js$/i)
      .use('worker-loader')
      .loader('worker-loader');
  }
};

我希望每次启动 devServer 时规则都可以工作,而无需每次重新启动服务器时都对其进行编辑。

这是某种可以通过配置值解决的缓存问题吗?

您的配置很好,只需添加以下行:

config.module.rule('js').exclude.add(/\.worker\.js$/)

config.module
      .rule('worker-loader')
      .test(/\.worker\.js$/)
      .use('worker-loader')
      .loader('worker-loader');

现在两个加载器不会再争夺同一个 js 文件了

我知道这晚了一年,但可能会帮助其他人

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM