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

一、背景介绍

在使用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日

相关文章

  • iOS9.3.3越狱出现Sub-process/usr/bin/dpkg returned an error code(2)解决方法介绍

    iOS9.3.3越狱出现Sub-process/usr/bin/dpkg returned an error code(2)解决方法介绍 问题简述 在进行iOS 9.3.3越狱过程中,有时会出现Sub-process/usr/bin/dpkg returned an error code(2)错误提示。该提示意味着越狱进程在执行”dpkg”命令(Debian…

    other 2023年6月28日
    00
  • Android中加载网络资源时的优化可使用(线程+缓存)解决

    当Android应用程序需要加载网络资源时,避免阻塞UI线程,优化性能和用户体验是非常重要的。在这种情况下,一个很好的解决方案是使用线程加载网络请求和缓存这些资源。以下是完整攻略的步骤说明: 1. 使用线程加载网络资源 1.1. 使用AsyncTask类 Android提供了AsyncTask类用于在后台线程执行任务并在主线程更新UI。AsyncTask让线…

    other 2023年6月25日
    00
  • Ankr宣布与微软合作开发区块链节点 代币ANKR暴涨36.8%

    Ankr宣布与微软合作开发区块链节点 代币ANKR暴涨36.8%攻略 1. 了解Ankr和微软的合作 首先,我们需要了解Ankr和微软的合作背景。Ankr是一个去中心化的计算平台,旨在为区块链项目提供节点和基础设施服务。微软是全球知名的科技巨头,拥有丰富的云计算和区块链技术经验。 Ankr宣布与微软合作开发区块链节点意味着Ankr将与微软合作,共同开发和提供…

    other 2023年7月27日
    00
  • 教你怎么制作exe程序可执行文件

    下面详细讲解“教你怎么制作exe程序可执行文件”的完整攻略。 什么是EXE程序可执行文件? EXE程序可执行文件是一种计算机程序,可以在Windows操作系统上运行。它是可执行二进制文件的一种形式,通常拥有.exe后缀。 制作EXE程序可执行文件的步骤 第一步:写代码 首先,你需要在你的编程环境中(如Visual Studio等)编写你的程序代码。请确保你的…

    other 2023年6月25日
    00
  • socket测试工具(客户端、服务端)

    以下是使用socket测试工具进行客户端和服务端测试的完整攻略,包含两个示例说明: 步骤1:安装socket测试工具 首先,您需要并安装socket测试具。您可以从socket工具的官方网站(例如,SocketTest、TCP Test Tool等)下载并安装socket测试工。 步骤2:服务端 在测试工具中,您可以创建一个服务端,以便测试客户端的连接。以下…

    other 2023年5月6日
    00
  • go-如何使用gccgo构建静态程序

    使用gccgo构建静态程序是Go语言的一种编译方式,可以将程序编译成静态可执行文件,方便在其他系统上运行。以下是使用gccgo构建静程序的完整攻略: 步骤一:安装gccgo 首先,需要安装gccgo。gccgo是GCC编译器的一部分用于编译Go程序。可以使用以下命令在Ubuntu系统上安装gccgo: sudo apt-get install gccgo 步…

    other 2023年5月8日
    00
  • iOS中各种UI控件属性设置示例代码

    下面就是详细讲解“iOS中各种UI控件属性设置示例代码”的完整攻略。 1. UILabel 属性设置 1.1 设置字体大小和颜色 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 50)]; label.text = @"Hello World"; …

    other 2023年6月26日
    00
  • js中哈希表的几种用法总结

    JS中哈希表的几种用法总结 哈希表(Hash Table)是一种基于键值对(key-value)的数据结构,可以充分利用计算机高速的特性,在 O(1) 的时间复杂度下完成数据的查找、插入、删除等操作。在 JavaScript 中,我们可以使用对象(object)或 Map 类来实现哈希表,下面是它们几种用法总结。 1. 以对象实现哈希表 1.1 创建一个空对…

    其他 2023年3月28日
    00
合作推广
合作推广
分享本页
返回顶部