我使用vue cli v3完成了一个项目.在建设项目后,我看到了两个警告,即:.

warning

asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).

This can impact web performance.

Assets:

  js/chunk-vendors.2557157d.js (474 KiB)

warning

entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.

Entrypoints:

  app (617 KiB)

      js/chunk-vendors.2557157d.js

      css/app.821fcb13.css

      js/app.b5a47a94.js

现在经过判断,我发现如果我在网页配置中添加以下内容

performance: {
maxEntrypointSize: 512000,
maxAssetSize: 512000
}

然后它会自动将js文件分成小块.现在在vue cli 3中没有网页包.配置文件.

所以,如果您能指导如何实现这一点,使文件在超过某个限制时自动分块,这将非常有用.

这就是我看到它的地方:https://github.com/webpack/webpack/issues/3486#issuecomment-397915908

期待您的回复.

附言:我读过this,try 创建vue.config.js文件,并在文件中添加了以下内容

module.exports = {
  configureWebpack: {
    performance: {
    maxEntrypointSize: 512000,
    maxAssetSize: 512000
    }
  }
}

但它什么也没做.谁能帮我告诉我该怎么做,以确保我的js文件块不会超过vue推荐的大小?

使现代化

根据Linus Borg的回答,我try 将以下两个代码放入vue.config.js文件中.Try 1:

module.exports = {
  configureWebpack: {
    splitChunks: {
            minSize: 10000,
            maxSize: 250000,
        }
  }
}

Try 2:

module.exports = {
  configureWebpack: {
        splitChunks: {
            cacheGroups: {
                node_vendors: {
                    test: /[\\/]node_modules[\\/]/,
                    chunks: "all",
                    priority: 1
                }
            }
        }
  }
}

在这两次之后,当我为生产建立我的项目时.我看到了同样的警告,但没有改变任何尺寸:https://i.imgur.com/7Hp7SXC.jpg

推荐答案

在为@vue/cli项目(3.0.4版)执行npm run build时,我的vue.config.js文件中添加了以下内容,这是最终将我的所有供应商assets资源 分块的内容.

module.exports = {
  configureWebpack:{
    optimization: {
      splitChunks: {
        minSize: 10000,
        maxSize: 250000,
      }
    }
  }
}

隐藏警告

module.exports = {
  configureWebpack:{
    performance: {
      hints: false
    },
    optimization: {
      splitChunks: {
        minSize: 10000,
        maxSize: 250000,
      }
    }
  }
}

Vue.js相关问答推荐

如何根据数据库中的条件在vue中创建类

VueJS不会呈现一个名为None的组件""

具有VUE身份验证的Azure AD

设置Vite Vue 3需要多个应用程序输出目录

将Vite Vuejs应用部署到Apache服务器

Vuetify/Nuxt 生产环境组件在开发环境中无法正常工作

Webpack 导入的模块不是函数

如何容器化 Vue.js 应用程序?

VueJs this.method 不是函数?如何在 Vuejs 的另一个方法中调用一个方法?

Vue 和 Bootstrap Vue - 动态使用插槽

Vuetify 容器不会填充高度

如何从 vue.js 中的自定义组件中冒泡点击事件?

命名空间模块身份验证的重复命名空间身份验证

在 Vue.js 中,为什么我们必须在导入组件后导出它们?

如何将数据属性设置为从 Vuex getter 返回的值

vue-cli-service build --target lib 导入为 lib 时丢失图像路径

从子组件 Vue 更新父模型

无法访问手表处理程序 vuejs 中的数据变量

Vue 3 – 渲染无法动画的非元素根 node

Vuex 模块Mutations