使用vue打包时vendor文件过大或者是app.js文件很大的问题

yizhihongxing

处理vue打包时vendor文件过大或者是app.js文件很大的问题可以通过以下方法进行:

1. 使用动态导入 (Dynamic Import)

动态导入是Vue.js 2.6版本开始提供的一个特性,可以让你在运行时(runtime)条件下去组织代码切割,从而减小打包体积。它是通过 import() 语法实现的。使用动态导入可以减少app.js的大小,提高页面加载速度。

以vue-router为例,在路由的时候使用动态导入:

const router = new VueRouter({
  routes: [
    {
      path: '/about',
      name: 'about',
      component: () => import(/* webpackChunkName: "about" */ './views/About.vue')
    },
    ...
  ]
})

其中,webpackChunkName可以指定代码块的名称。指定了chunk名称后,可以在webpack输出的文件中查看到这个代码块的文件名。

2. 使用分包(splitChunks)

在Webpack4中,splitChunks已经成为了一个新的option,在optimization中使用。可以把第三方库和模块代码分别打包到少数的几个文件中。

在vue.config.js中配置:

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

其中,test: /[\/]node_modules[\/]/ 表示只打包来自 node_modules 文件夹下的模块,而 common 文件夹下的模块则不打包。

使用该方法,webpack会将node_modules中的第三方库抽取成vendor.js,这样就可以减少vendor.js的文件大小,从而加快网页的加载速度。

以上就是使用vue打包时处理vendor文件过大或者是app.js文件很大的问题的攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用vue打包时vendor文件过大或者是app.js文件很大的问题 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vue3使用mqtt的示例代码

    下面是关于 “vue3使用mqtt的示例代码” 的完整攻略: 1. 准备工作 在使用Vue.js进行前端开发时,我们通常会使用Vue CLI。在开始使用mqtt之前,我们需要先在Vue CLI项目中添加Vue Mqtt插件,它可以轻松地与Mqtt服务器进行通信,实现数据的传输。 运行以下命令,在Vue CLI项目中添加Vue Mqtt插件: npm i vu…

    Vue 2023年5月28日
    00
  • vue-cli 介绍与安装

    Vue-cli 介绍与安装 什么是 Vue-cli? Vue-cli 是 Vue.js 官方提供的一个脚手架工具,可以帮助我们快速的搭建 Vue 项目开发所需要的基础环境。 安装Vue-cli 安装 Vue-cli 要求 Node.js 的版本在 8.9 或更高,NPM 版本在 5.5 或更高。 全局安装 开启终端并输入以下命令即可进行全局安装: npm i…

    Vue 2023年5月28日
    00
  • 详解Vue生命周期和MVVM框架

    让我详细讲解”详解Vue生命周期和MVVM框架”的完整攻略。 首先,让我们来了解一下Vue生命周期。Vue组件有8个生命周期钩子函数,可以在Vue组件的生命周期中执行一些操作。 组件实例的生命周期可以分为四个阶段:创建、挂载、更新、销毁。下面是Vue生命周期的详细解释: 创建 beforeCreate:在实例初始化之后,数据观测(data observer)…

    Vue 2023年5月28日
    00
  • Vue使用localStorage存储数据的方法

    下面是关于 Vue 使用 localStorage 存储数据的完整攻略: 1、localStorage 简介 localStorage 是一个 HTML5 标准中出现的 Web 存储 API ,它可以允许您在浏览器中存储键值对数据,以便在用户重启浏览器甚至重新启动计算机后仍然可以使用。localStorage 的数据大小一般为 5MB 左右,当然具体大小可能…

    Vue 2023年5月27日
    00
  • vue源码解析computed多次访问会有死循环原理

    下面是关于“vue源码解析computed多次访问会有死循环原理”的完整攻略。 1. computed的原理 先来简单介绍一下computed的原理。在Vue组件中,computed是指计算属性,是一个基于响应式依赖进行缓存的数据属性,它的值在使用时会自动收集依赖,发现依赖变化时会重新计算,并且将结果缓存起来,直到依赖变化才重新计算。这样就避免了重复计算,提…

    Vue 2023年5月28日
    00
  • 使用uni-app开发微信小程序的实现

    使用 uni-app 开发微信小程序的实现,需要考虑以下几个步骤: 安装uni-app环境 首先需要下载安装HBuilderX开发工具,HBuilderX 集成了uni-app开发需要的所有功能模块和工具,同时也内置了微信小程序 IDE,方便我们进行开发和调试。 创建项目 在HBuilderX中创建一个uni-app项目。在创建项目的时候,需要选择 uni-…

    Vue 2023年5月27日
    00
  • vue中的for循环以及自定义指令解读

    下面我会详细地讲解一下 “Vue中的For循环以及自定义指令解读”。 Vue中的For循环 Vue提供了v-for指令,我们可以通过它循环遍历数据列表,同时将每个元素渲染成一个view。 v-for指令可以使用 in 或 of 运算符,具体取决于对象或数组的语法。这里我们以数组为例,展示v-for如何工作。 基本用法 v-for可以通过以下方式,遍历数组: …

    Vue 2023年5月29日
    00
  • 2分钟实现一个Vue实时直播系统的示例代码

    下面我将详细讲解“2分钟实现一个Vue实时直播系统的示例代码”的完整攻略。 1. 需要的工具和资源 在实现实时直播系统之前,需要准备以下工具和资源: Vue.js:一个渐进式的JavaScript框架。如果你已经学过Vue.js的话,可以跳过这一步。 Firebase:一个快速开发应用程序的平台,提供各种各样的工具和服务。 2. 创建Firebase项目 首…

    Vue 2023年5月29日
    00
合作推广
合作推广
分享本页
返回顶部