【问题标题】:Why does my chainWebpack in vue.config.js only work the first time after I change it?为什么我的 vue.config.js 中的chainWebpack 只在我更改后第一次工作?
【发布时间】:2019-12-13 19:26:13
【问题描述】:

我在 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 时都能正常工作,而无需在每次重新启动服务器时对其进行编辑。

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

【问题讨论】:

    标签: javascript node.js vue.js loader


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-29
      • 1970-01-01
      • 2017-07-16
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      相关资源
      最近更新 更多