webpack - 什么是 chunk-vendors.js 文件,它是如何创建的? (网络包)

标签 webpack vue-cli-3

我有一个关于 chunk-vendors.js 文件的简短问题,该文件是在 Vue Js 应用程序的构建过程中创建的。

这是什么? 它是如何创建的?

我问的原因是为了更好地了解某些事情最终是如何出现的。我发现它实际上有一些我不想要的东西。

最佳答案

chunk-vendors.js,顾名思义,是所有不属于您自己,而是来自其他方的模块的捆绑包 。它们被称为第三方模块,或 vendor 模块。

通常,它意味着(仅和)来自您项目的 /node_modules 目录的所有模块。

在 webpack 3 中,你必须自己做,你必须做一些样板文件才能拥有至少 2 个 block :一个用于您自己的代码,一个用于 /node_modules中的模块目录。

在 webpack 4 中,这很简单:你使用 optimization.splitChunks默认的 options:

    module.exports = {
      //...
      optimization: {
        splitChunks: {
          chunks: 'async',
          minSize: 30000,
          maxSize: 0,
          minChunks: 1,
          maxAsyncRequests: 5,
          maxInitialRequests: 3,
          automaticNameDelimiter: '~',
          name: true,
          cacheGroups: {
            vendors: {
              test: /[\\/]node_modules[\\/]/, // this is what you are looking for
              priority: -10
            },
            default: {
              minChunks: 2,
              priority: -20,
              reuseExistingChunk: true
            }
          }
        }
      }
    };

@vue/cli 3 使用 webpack 4,如果你不更改 webpack 配置(参考:change the webpack configuration),它将使用默认值。

关于webpack - 什么是 chunk-vendors.js 文件,它是如何创建的? (网络包),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55054444/

相关文章:

javascript - React Internet Explorer 11 渲染不可变集合错误的映射结果

vue.js - Vue CLI 3 Nightwatch页面对象配置

vue.js - 在 Vue CLI 3 中禁用 PWA 插件

web-component - Vuetify - 检测到多个 Vue 实例

vue.js - 通知 App.vue 正在调用 Service-Worker 事件

vuejs2 - 带有 4 个空格缩进的 Vue-CLI

webpack - 部署 SPA 时如何确保前端的无缝可用性?

webpack - 找不到相对于目录的预设 "es2015"

angular - 在打包的 Electron 应用程序中找不到图像 Assets - angular4 和 webpack

javascript - Webpack 5 模块联合 - 远程模块中的 Hook - 不起作用