≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > vue.js

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

人气:545 时间:2019-04-12

这篇文章主要为大家详细介绍了基于vue-cli npm run build之后vendor.js文件过大的解决方法,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

 

问题

 

vue-cli npm run build命令默认把dependencies中的依赖统一打包,导致vendor.js文件过大,出现首屏加载过于缓慢的问题。

 

解决方案

 

像vue、axios、element-ui这些基本上不会改变的依赖我们可以把它们用cdn导入,没有必要打包到vendor.js中。

 

1.在项目根目录index.html使用cdn节点导入

 

代码如下:


<div id="app"></div>
<!-- 先引入 Vue -->
<!--开发环境-->
<script src="https://cdn.bootcss.com/vue/2.5.3/vue.js"></script>
<!--生产环境-->
<!--<script src="https://cdn.bootcss.com/vue/2.5.3/vue.min.js"></script>-->
<!-- 引入组件库 -->
<script src="https://cdn.bootcss.com/axios/0.17.1/axios.min.js"></script>
<script src="https://cdn.bootcss.com/element-ui/1.4.10/index.js"></script>

 

2.项目根目录下build/webpack.base.config.js中添加externals

 

代码如下:


externals: {
 vue: 'Vue',
 'element': 'element-ui',
 'axios':'axios',
 },

 

3.mian.js中import ... from ...就可以去掉了,若没去掉webpack还是会把对应的依赖进行打包。

 

 

2018.01.27补充

 

在项目config/index.js中可以开启gzip压缩,对打包优化也有很大的帮助

 

1.首先安装插件 compression-webpack-plugin

 

代码如下:


cnpm install --save-dev compression-webpack-plugin

 

2.设置productionGzip: true

 

代码如下:


 // Gzip off by default as many popular static hosts such as
 // Surge or Netlify already gzip all static assets for you.
 // Before setting to `true`, make sure to:
 // npm install --save-dev compression-webpack-plugin
 productionGzip: true,
 productionGzipExtensions: ['js', 'css'],

 // Run the build command with an extra argument to
 // View the bundle analyzer report after build finishes:
 // `npm run build --report`
 // Set to `true` or `false` to always turn it on or off
 bundleAnalyzerReport: process.env.npm_config_report

 

3.npm run build执行后会发现每个js和css文件会压缩一个gz后缀的文件夹,浏览器如果支持g-zip 会自动查找有没有gz文件 找到了就加载gz然后本地解压 执行。

 

以上这篇基于vue-cli npm run build之后vendor.js文件过大的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持四海网。

本文来自:http://www.q1010.com/184/6061-0.html

注:关于基于vue-cli npm run build之后vendor.js文件过大的解决方法的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:vue.js

您可能感兴趣的文章

  • vue项目使用axios发送请求让ajax请求头部携带cookie的方法
  • 在vue中使用v-bind:class的选项卡方法
  • Vue项目查看当前使用的elementUI版本的方法
  • Vue监听一个数组id是否与另一个数组id相同的方法
  • 分析如何在vue项目中使用lodop打印插件
  • axios 封装上传文件的请求方法
  • Vue中的v-for指令不起效果的解决方法
  • vue中使用axios post上传头像/图片并实时显示到页面的方法
  • 分析关于vue2.0工程发布上线操作步骤
  • 解决vue项目nginx部署到非根目录下刷新空白的问题
上一篇:解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
下一篇:解决vue项目nginx部署到非根目录下刷新空白的问题
热门文章
  • Vue 报错TypeError: this.$set is not a function 的解决方法
  • vue实现动态添加数据滚动条自动滚动到底部的示例代码
  • vue项目设置scrollTop不起作用(总结)
  • vue项目中使用vue-i18n报错的解决方法
  • iview实现select tree树形下拉框的示例代码
  • 分析关于element级联选择器数据回显问题
  • vue项目打包后打开页面空白解决办法
  • 解决element ui select下拉框不回显数据问题的解决
  • element-ui table span-method(行合并)的实现代码
  • element-ui 设置菜单栏展开的方法
  • 最新文章
    • 理解vue ssr原理并自己搭建简单的ssr框架
    • vue favicon设置以及动态修改favicon的方法
    • vue-router启用history模式下的开发及非根目录部署方法
    • 从零开始在NPM上发布一个Vue组件的方法步骤
    • Element input树型下拉框的实现代码
    • Vue 报错TypeError: this.$set is not a function 的解决方法
    • Vue.js组件高级特性实例分析
    • 浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
    • 分析Vue.js自定义tipOnce指令用法实例
    • 浅谈vuex actions和mutation的异曲同工

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。