vue 优化CDN加速的方法示例


Posted in Javascript onSeptember 19, 2018

代码敲完,项目上线,然后就要与优化相遇。

vue 优化CDN加速的方法示例

项目有抢购的性质content download 时间非常的长加载慢的很,至此开始前端优化之旅

项目根目录运行

npm install webpack-bundle-analyzer --save-dev

在build/webpack.dev.conf.js中引入

const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
 plugins: [
 new BundleAnalyzerPlugin()
 ]

运行后显示可以看到几个大的js 下面是已经优化过后的截图

像vue ,vue-router,vuex,axios,mint-ui,crypto-js

vue 优化CDN加速的方法示例

1.使用CDN资源

其作用是:当我们加载页面时,需要将我们所需要的一些依赖加载到当前会话中然后再开始执行,如果我们首屏,模块比较多是,需要等待的时间会比较长,而且。浏览器内存最多执行四十个进程,需要等到加载完前面的才能执行后面的代码,如果我们采用cdn的方式来引入一些第三方资源,就可以缓解我们服务器的压力,原理是将我们的压力分给其他服务器点。

使用cdn在index.html中引入

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <script src="//cdn.bootcss.com/vue/2.5.2/vue.min.js"></script>
 <script src="//cdn.bootcss.com/vue-router/3.0.1/vue-router.min.js"></script>
 <script src="//cdn.bootcss.com/vuex/3.0.1/vuex.min.js"></script>
 <script src="//cdn.bootcss.com/axios/0.17.1/axios.min.js"></script>
 <script src="https://cdn.bootcss.com/mint-ui/2.2.13/index.js"></script>
 <script src="https://cdn.bootcss.com/crypto-js/3.1.9/crypto-js.min.js"></script>
 <title></title>
</head>
<body>
 <div id="app"></div>
 <!-- built files will be auto injected -->
</body>
</html>

修改build/webpack.base.conf.js文件,externals外部扩展,通过这种方式引入依赖库,不需要webpack处理。

module.exports = {
 ...
 externals: {
 'vue': 'Vue', // 左侧vue是我们自己引入时候要用的,右侧是开发依赖库的主人定义的不能修改
 'vue-router': 'VueRouter',
 'vuex': 'Vuex',
 'axios': 'axios',
 'mint-ui': 'MINT',
 'crypto-js': 'CryptoJS'
 }
 ...
}

console.log(window) 打印出下图

网上查了资料有的引入有的还是会引入有的没有引入,拿mint-ui举例,查到的资料在main.js有下面的引入,但是注释掉之后还是可以正常使用mint-ui的组件,import VueRouter from 'vue-router' 也是可以注释掉使用的,感觉是因为window全局有了VueRouter,但是有个问题就是eslint会报警告,所以就没有注释掉。如果理解有误希望大家能指出我的错误

import MINT from 'mint-ui'
Vue.use(MINT)

vue 优化CDN加速的方法示例

main.js

import Vue from 'vue' // 没有注释掉是因为main.js其他地方用到了Vue,如果没有用到可以注释掉
import App from './App'
import router from './router'
import store from './store'

router/index.js

// import Vue from 'vue' // 注释掉
// Vue.use(VueRouter) // 注释掉
import VueRouter from 'vue-router' // 文件中引入的时候用我们自己定义的vue-router
const appRouter = {
....
}
export default new VueRouter(appRouter)

store/index.js

// import Vue from 'vue' // 注释掉
// Vue.use(Vuex) // 注释掉
import Vuex from 'vuex'
const store = new Vuex.Store({
 ....
})
export default store

CryptoJS用来加密,在使用的地方直接引入。axios同理

import CryptoJS from 'crypto-js'
.....

优化之前

vue 优化CDN加速的方法示例

优化之后

vue 优化CDN加速的方法示例

另外就是花点钱提高了下带宽o(?□?)o

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ASP SQL防注入的方法
Dec 25 Javascript
学习面向对象之面向对象的术语
Nov 30 Javascript
跨域请求之jQuery的ajax jsonp的使用解惑
Oct 09 Javascript
jQuery模拟超链接点击效果代码
Apr 21 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
Sep 15 Javascript
JS采用绝对定位实现回到顶部效果完整实例
Jun 20 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
Feb 15 Javascript
Vue中正确使用jQuery的方法
Oct 30 jQuery
JS数组去重常用方法实例小结【4种方法】
May 28 Javascript
vue安装和使用scss及sass与scss的区别详解
Oct 15 Javascript
JS 实现获取验证码 倒计时功能
Oct 29 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
Jan 28 jQuery
Vue前后端不同端口的实现方法
Sep 19 #Javascript
vue-cli 3.x 修改dist路径的方法
Sep 19 #Javascript
浅谈React之状态(State)
Sep 19 #Javascript
jQuery使用each遍历循环的方法
Sep 19 #jQuery
vue新vue-cli3环境配置和模拟json数据的实例
Sep 19 #Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
Sep 19 #Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
Sep 19 #Javascript
You might like
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
php下通过伪造http头破解防盗链的代码
2010/07/03 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
php简单判断文本编码的方法
2015/07/30 PHP
thinkphp实现附件上传功能
2017/05/26 PHP
laravel实现按时间日期进行分组统计方法示例
2019/03/23 PHP
Javascript - HTML的request类
2006/07/15 Javascript
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
webpack入门+react环境配置
2017/02/08 Javascript
Vuex实现计数器以及列表展示效果
2018/03/10 Javascript
js html实现计算器功能
2018/11/13 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
简洁的十分钟Python入门教程
2015/04/03 Python
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
详细分析Python collections工具库
2020/07/16 Python
python实现ping命令小程序
2020/12/28 Python
浅谈three.js中的needsUpdate的应用
2012/11/12 HTML / CSS
阿拉伯世界最大的电子卖场:Souq埃及
2016/08/01 全球购物
彪马日本官网:PUMA日本
2019/01/31 全球购物
教师党员思想汇报
2014/01/06 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
工作决心书
2014/03/11 职场文书
可口可乐广告词
2014/03/20 职场文书
敬老院活动总结
2014/04/28 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
滴水洞导游词
2015/02/10 职场文书