基于vue-cli npm run build之后vendor.js文件过大的解决方法

yizhihongxing

一、背景介绍

在使用vue-cli进行项目开发时,当使用npm run build命令对代码进行打包时,会生成一个vendor.js文件,这个文件包含了所有第三方库的代码,而且这个文件可能会非常大,甚至占据整个打包后文件的很大一部分,这会导致页面加载速度缓慢,影响用户体验。本文将介绍几种解决这个问题的方法。

二、解决方法

  1. 按需引入第三方库

在进行项目开发时,可能只会使用第三方库的部分功能,这时可以考虑按需引入第三方库。具体做法是,在代码中使用import语句引入需要使用的库的特定模块,而不是引入整个库。这样可以减少打包后的vendor.js文件的大小。

比如,只使用了lodash工具库中的_.debounce方法:

import debounce from 'lodash/debounce'

export default {
  methods: {
    search: debounce(function() {
      // 进行搜索
    }, 500)
  }
}

这样,打包后的vendor.js文件就只包含lodash库的一部分代码,而不是整个库的代码,对于减小文件大小非常有帮助。

  1. 使用externals选项排除第三方库

在vue-cli的webpack配置中,可以使用externals选项来排除一些第三方库不被打包进vendor.js文件中。具体做法是,在vue.config.js文件中添加一个配置项:

module.exports = {
  configureWebpack: {
    externals: {
      vue: 'Vue',
      'vue-router': 'VueRouter',
      'element-ui': 'ElementUI'
    }
  }
}

以上述的配置为例,意思是排除vue、vue-router和element-ui这三个库不被打包进vendor.js文件中,而是在页面中引入这些库的cdn链接或者通过npm安装,然后在html页面中通过script标签引入。

注意,使用这种方法进行排除后,需要自己手动在html页面中引入对应的cdn链接或者手动安装第三方库。如果该库在除此项目以外的地方用到了,引入方式也需要修改。

三、总结

基于vue-cli npm run build之后vendor.js文件过大的解决方法主要包括:按需引入第三方库和使用externals选项排除第三方库。两种方法各有优缺点,需要根据具体情况选择合适的方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于vue-cli npm run build之后vendor.js文件过大的解决方法 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 基于boot2docker部署docker环境

    当然,我可以为您提供“JDBC的驱动包下载”的完整攻略,过程中包含两条示例说明。攻略如下: JDBC的驱动包下载 JDBC是Java数据库连接的标准API,它允许Java用程序与各种关系型数据库进行交互。在使用JDBC之前,您需要下载适当的JDBC驱动程序。在本教程中我们将介绍如何下载JDBC驱动程序。 步骤1:确定您的数据库类型 首先,您需要确定您要连接的…

    other 2023年5月9日
    00
  • 前端算法之TypeScript包含min函数的栈实例详解

    前端算法之TypeScript包含min函数的栈实例详解 一、前言 本篇文章将介绍一种栈(Stack)的实现,同时在栈中加入一个min函数,用来返回栈中最小的值。 栈是一种线性数据结构,具有“后进先出”(LIFO)的特性,它只允许在表的一端进行插入和删除操作。这个在实际生活中比较类似于一个弹簧式的球点笔,通过一个“中心轴”的作用,可以让笔芯向上或向下转动。 …

    other 2023年6月27日
    00
  • SpringBoot中项目如何读取外置logback配置文件

    Spring Boot默认使用Logback作为日志框架,可以通过在项目中添加logback.xml或者logback-spring.xml配置文件来配置日志输出。但是在某些情况下,我们希望将日志配置文件放在项目外部,这时就需要进行一些额外的配置。 以下是SpringBoot中项目如何读取外置logback配置文件的完整攻略: 首先,在项目的pom.xml中…

    other 2023年6月25日
    00
  • 成员初始化列表与构造函数体中的区别详细解析

    成员初始化列表和构造函数体都是针对类的构造函数的,它们的作用是在对象被创建时对类的成员进行初始化。 成员初始化列表 在C++11标准之前,对于类成员变量的初始化是在构造函数体中进行的,而在C++11标准之后,可以使用成员初始化列表来对成员变量进行初始化。成员初始化列表是指在构造函数的参数列表后面加上冒号“:”,接着是一系列的成员变量初始化语句。 示例1: c…

    other 2023年6月26日
    00
  • Android UI设计系列之自定义ViewGroup打造通用的关闭键盘小控件ImeObserverLayout(9)

    让我来详细讲解一下“Android UI设计系列之自定义ViewGroup打造通用的关闭键盘小控件ImeObserverLayout(9)”的完整攻略。 简介 本篇攻略主要是讲解如何自定义ViewGroup来实现通用的关闭键盘小控件ImeObserverLayout。通过本文的学习,你将会了解到如何使用较少的代码实现一个通用的小控件,并掌握自定义ViewGr…

    other 2023年6月27日
    00
  • nagios服务端配置及客户的安装配置步骤分享[图文]

    下面是详细讲解“nagios服务端配置及客户的安装配置步骤分享[图文]”的完整攻略。 Nagios服务端配置及客户的安装配置步骤分享 1. 安装Nagios服务端 使用以下命令下载Nagios源代码: wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.g…

    other 2023年6月27日
    00
  • Android百度地图应用之创建显示地图

    下面是详细讲解”Android百度地图应用之创建显示地图”的完整攻略。 准备工作 在进行百度地图的开发之前,我们需要先进行以下的准备工作: 注册百度开发者账号,进入百度开发者平台进行注册; 创建应用并获取AK,进入控制台,创建应用并获取AK; 下载Android SDK,并进行安装。 创建项目 打开Android Studio,创建一个新项目; 在”Proj…

    other 2023年6月27日
    00
  • Android嵌套滚动NestedScroll的实现了解一下

    Android嵌套滚动NestedScroll的实现攻略 嵌套滚动(NestedScroll)是一种在Android应用中实现复杂滚动效果的技术。它允许父级滚动容器和子级滚动容器之间进行协调,以实现更灵活的滚动行为。在本攻略中,我们将详细介绍如何在Android应用中实现嵌套滚动,并提供两个示例说明。 1. 实现嵌套滚动的基本步骤 要实现嵌套滚动,需要完成以…

    other 2023年7月28日
    00
合作推广
合作推广
分享本页
返回顶部