zouyu
6 天以前 11c0c969f05fd3c546b44898a0020eed9ba65fbe
vue.config.js
@@ -59,36 +59,6 @@
        "@": resolve("src"),
      },
    },
    module: {
      rules: [
        // JS 主体文件处理(含 Babel、Thread Loader)
        {
          test: /\.js$/,
          use: [
            {
              loader: 'thread-loader',
              options: { workers: 4 }
            },
            'babel-loader'
          ],
          exclude: /\.worker\.js$/, // 👈 排除 worker 文件
          include: path.resolve(__dirname, 'src')
        },
        // 单独处理 Worker 文件
        {
          test: /\.worker\.js$/,
          use: {
            loader: 'worker-loader',
            options: {
              filename: '[name].[contenthash].worker.js',
              inline: 'fallback'
            }
          },
          type: 'javascript/auto' // 👈 强制 Webpack 不要按模块解析
        }
      ]
    },
    plugins: [
      // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件
      new CompressionPlugin({
@@ -119,6 +89,28 @@
      })
      .end();
    // 修改babel-loader配置,排除worker文件
    config.module
      .rule('js')
      .exclude
      .add(/\.worker\.js$/)
      .end();
    // 处理worker文件
    config.module
      .rule('worker')
      .test(/\.worker\.js$/)
      .use('worker-loader')
      .loader('worker-loader')
      .options({
        filename: '[name].[contenthash].worker.js',
        inline: 'fallback'
      })
      .end()
      .type('javascript/auto')
      .exclude.add(resolve('node_modules'))
      .end();
    config.when(process.env.NODE_ENV !== "development", (config) => {
      config
        .plugin("ScriptExtHtmlWebpackPlugin")