vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue-cli3分包文件不一致

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

作者:zoufengrui

这篇文章主要为大家介绍了vue-cli3项目生产和测试环境分包后文件名和数量不一致解决方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

我用vue-cli3搭建的项目,在进行webpack按需分包之后,生产环境打包和测试环境打包出来的文件名和数量不一致:


对于生产环境的包,能正确的将文件按照页面分包打包出来,而测试环境的打包只能打包成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",

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

"build": "vue-cli-service build",
"uat": "vue-cli-service build --mode mytest",

以上就是vue-cli3项目生产和测试环境分包后文件名和数量不一致解决的详细内容,更多关于vue-cli3分包文件不一致的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文