vue.js - 如何拆分@vue/cli 3 "pages"供应商文件

标签 vue.js vue-cli

我关注这个话题 Build the app in multi-page mode在 Vue Cli 文档中,它工作正常,但我意识到只有 1 个供应商文件而不是 2 个(每个页面条目)。

如何拆分供应商文件?我不想在许多页面条目之间共享一个不必要的大供应商文件。 (我想在单个应用程序中使用它)。

enter image description here

enter image description here

对于上面的屏幕截图,我想要一个用于 index.xxx.js 的供应商文件和一个用于 report.xxx.js 的供应商文件

请推荐,谢谢

最佳答案

module.exports = {
  pages: {
    index: {
      entry: 'src/monitor/main.js',
      template: 'public/index.html',
      chunks: ['chunk-common', 'chunk-index-vendors', 'index']
    },
    report: {
      entry: 'src/report/main.js',
      chunks: ['chunk-common', 'chunk-report-vendors', 'report']
    }
  },

  chainWebpack: config => {
    const options = module.exports
    const pages = options.pages
    const pageKeys = Object.keys(pages)

    // Long-term caching

    const IS_VENDOR = /[\\/]node_modules[\\/]/

    config.optimization
      .splitChunks({
        cacheGroups: {
          ...pageKeys.map(key => ({
            name: `chunk-${key}-vendors`,
            priority: -11,
            chunks: chunk => chunk.name === key,
            test: IS_VENDOR,
            enforce: true,
          })),
          common: {
            name: 'chunk-common',
            priority: -20,
            chunks: 'initial',
            minChunks: 2,
            reuseExistingChunk: true,
            enforce: true,
          },
        },
      })
  }
}

它基于 GitHub 线程:https://github.com/vuejs/vue-cli/issues/2381#issuecomment-425038367

关于vue.js - 如何拆分@vue/cli 3 "pages"供应商文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51242317/

相关文章:

webpack - SyntaxError : expected expression, 得到 '<' 错误 - vue

vue.js - vue cli 3 postcss显示:flex issue

webpack - 如何更改 vue.js 应用程序中的 lint 目录?

javascript - 获取函数内的变量并将其分配给其范围之外的另一个变量

javascript - 对于购物车,组件、商品或商品选项或两者都应该是什么?

javascript - 如何使用 v-bind :style? 内联 css 中的 v-for 列表中的数据

javascript - 使用 Electron 在 app.asar 中包含额外文件

node.js - 如何使用 vue-cli(webpack) 创建多页面应用程序(每个页面都有不同的路由器,以及不同的 dist/index.html)

vue.js - Vue Cli 3.0 配置文件在哪里?

javascript - 在其焦点区域外单击时弹出框不关闭