vue-cli3项目生产和测试环境分包后文件名和数量不一致

我用vue-cli3搭建的项目,在进行webpack按需分包之后,生产环境打包和测试环境打包出来的文件名和数量不一致:
image.png
对于生产环境的包,能正确的将文件按照页面分包打包出来,而测试环境的打包只能打包成1.js,2.js这种,并且少了chunk.js

我的vue.config.js配置如下:

chainWebpack: config => {
    config.resolve.alias
      .set("@", resolve("./src"))
      .set("assets", resolve("src/assets"))
      .set("components", resolve("src/components"))
      .set("containers", resolve("src/containers"))
      .set("service", resolve("src/service"))
      .set("utils", resolve("src/utils"))
      .set("store", resolve("src/store"))
      .set("config", resolve("src/config"))
      .set("pubilc", resolve("pubilc"));
    config.output.filename("static/js/[name].[hash].js").end();
  },
  configureWebpack: config => {
    config.optimization = {
      runtimeChunk: "single",
      splitChunks: {
        chunks: "all",
        maxInitialRequests: Infinity,
        minSize: 20000,
        cacheGroups: {
          vendor: {
            test: /[\\/]node_modules[\\/]/,
            name(module) {
              const packageName = module.context.match(
                /[\\/]node_modules[\\/](.*?)([\\/]|$)/
              )[1];
              return `npm.${packageName.replace("@", "")}`;
            },
          },
        },
      },
    };
  },

请问如何改能将测试环境的打包内容改成和生产环境一样呢?

补充:
package.json里面的命令:

"build": "vue-cli-service build",
"uat": "vue-cli-service build --mode test",
阅读 4.2k
2 个回答

因为vue-clitest会有一些process.env.NODE_ENV === 'test'的判断,所以想和线上环境一样最简单的办法就是不用它的mode

"build": "vue-cli-service build",
"uat": "vue-cli-service build --mode mytest",
  • npx vue-cli-service inspect --mode test 使用这个命令看看配置差别
  • 如果你想保持一致的话,直接用同一个命令
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进