前言


引入cdn当然是要先获取引入包的路径

  • nginx静态资源访问

首先,将引用node_modules包放到nginx静态资源文件下,然后配置nginx.conf文件,生成访问路径。

注:相比以下两种请求高效且稳定

location /node_modules {autoindex on;alias  根路径/nginx-1.16.1/html/docs/static/node_modules/;index  index.html index.htm;try_files $uri $uri/ /index.html;
}
  • cdnjs是一种免费的开源CDN服务,受11%以上的网站的信任,由Cloudflare提供支持。

  • JS DELIVER是一种免费开源的CDN服务,支持快速、可靠、自动化访问。

引入


  • 在public/index.html引入,根据自己需求引入nginx配置资源路径(强烈推荐)
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="renderer" content="webkit"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"><link rel="icon" href="<%= BASE_URL %>favicon.ico"><!--注意需要修改index.css中字体引用路径,修改为nginx配置全路径字体文件--><link href="https://nginx配置地址/node_modules/element-ui/lib/theme-chalk/index.css" rel="stylesheet"><!--...省略其他引入--><title><%= webpackConfig.name %></title>
</head>
<body>
<div id="app"></div>
</body>
</html>
  • 在public/index.html引入,根据自己需求引入官方资源路径
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="renderer" content="webkit"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"><link rel="icon" href="<%= BASE_URL %>favicon.ico"><script src="https://cdn.jsdelivr.net/npm/vue@2.6.13/dist/vue.min.js"></script><script src="https://cdn.jsdelivr.net/npm/vue-router@3.5.1/dist/vue-router.min.js"></script><script src="https://cdn.jsdelivr.net/npm/vuex@3.6.2/dist/vuex.min.js"></script><script src="https://cdn.jsdelivr.net/npm/axios@0.21.1/dist/axios.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/element-ui/2.15.2/index.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/element-ui/2.15.2/theme-chalk/index.css" rel="stylesheet"><script src="https://cdn.jsdelivr.net/npm/view-design@4.5.0/dist/iview.min.js"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/view-design@4.5.0/dist/styles/iview.css"><script src="https://cdn.jsdelivr.net/npm/echarts@5.1.1/dist/echarts.min.js"></script><title><%= webpackConfig.name %></title>
</head>
<body>
<div id="app"></div>
</body>
</html>

配置


  • 在vue.config.js配置(注意:要按照如下命名,一般都是驼峰命名,存在例外)
module.exports = {configureWebpack: {externals: {'vue': 'Vue','vue-router': 'VueRouter','vuex': 'Vuex','axios': 'axios','view-design': 'iview','element-ui': 'ELEMENT','echarts': 'echarts'//'vue-baidu-map':'BaiduMap',//'@babel/polyfill':'@babel/polyfill',//'es6-promise':'ES6Promise'}},
}
  • 在main.js中全局引用

import Vue from 'vue'
import ELEMENT from 'element-ui'
import iview from 'view-design'
import Vuex from 'vuex'
import VueRouter from 'vue-router'
Vue.use(ELEMENT, {size: 'small',zIndex: 2000
})
Vue.use(iview)
Vue.use(Vuex)
Vue.use(VueRouter)
  • 局部引用

//其他同理不在做示范
import { Message, Notification } from 'element-ui'//使用
Message({message: msg,type: type,duration: 5 * 1000
})

结果


可以看一下前后资源减少量是非常多的,这还是未压缩的情况下

结束语


最后给大家推荐一个据说可以帮助工程师挑选命定的开源软件openbase

Vue优化(二)、CDN/nginx高效引入node_modules包相关推荐

  1. vue引入cdn Vue 优化Vue引入 cdn vue cdn Vue优化引入CDN vue 项目 CDN优化

    vue引入cdn Vue 优化Vue引入 cdn vue cdn Vue优化引入CDN vue 项目 CDN优化 未引入 CDN前 main.js 更改CDN方式引入 在 vue.config 中引入 ...

  2. Vue3系列(三)之CDN引入依赖包优化打包速率

    目录 一.概述 二.CDN网站分享 三.打包前后对比 四.实例代码 1.index.html 页面 2.vue.config.js 2.1 cdn预设值 2.2 在configureWebpack下定 ...

  3. 使用cdn和npm引入的区别_在npm上发布自己的vue组件库(使用npm install 或者 CDN的方式引用)...

    一.npm publish 发布包到npm库的命令是npm publish npm publish发布包,需要先配置webpack.json文件,如果没有webpack.json文件,可以通过npm ...

  4. [Nginx] – 安全优化 – 配置文件优化 [二]

    [Nginx] – 安全优化 – 配置文件优化 [二] Nginx  修改时间:2016年12月26日 首先在此感谢下我的老师–老男孩专家拥有16年一线实战经验,为我们运维班28期所有成员的耐心讲解, ...

  5. vue项目echarts通过cdn或npm引入

    1. vue版本号: 2.6.11 2. vue-cli版本号: 4.5.11 3. 通过CDN的方式引入 3 3.1 .线上链接 1.首先先在public文件夹下的html页面中引入 <scr ...

  6. 【鲁棒优化笔记】以Coding入门鲁棒优化:以一个例子引入(二)-错误版

    [鲁棒优化笔记]以Coding入门鲁棒优化:以一个例子引入(二) 投资组合的例子 鲁棒优化模型的reformulation: 利用对偶进行reformulation 利用对偶进行reformulati ...

  7. Vue优化策略_项目发布_01

    文章目录 一.移除console 策略 1. 命令 1.1. 插件官网: 1.2. 安装babel-plugin-transform-remove-console 1.3. 在babel.config ...

  8. vue优化之CND优化

    问题: vue 打包(npm run build)之后, vendor.js文件过大, 导致首页加载速度非常慢, 影响体验效果, 原因是第三方库(vue , vue-router , element- ...

  9. 前端性能优化之——CDN优化加载

    CDN优化加载 前言 一.查找资源 二.资源引入 三.添加配置 vue3配置 vue2配置 四.去掉原有的引用 拓展1:vue3.0和vue2.0的cdn包名称不一样 拓展2:element-ui 不 ...

最新文章

  1. 别一提英特尔就电脑CPU了
  2. 第04课:深度学习框架 PyTorch
  3. AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)
  4. matlab中sign函数用法
  5. Linux:-bash: ***: command not found
  6. 这样给数组初始化,你肯定没有见过
  7. UNIX、Linux与Windows之比较
  8. Windows编程 从消息窗口到基本窗口 游戏循环窗口框架的简单实现
  9. 免费的可视化Web报表工具,JimuReport v1.4.4-beta版本发布
  10. 操作系统专栏——内存分配与回收
  11. 修改服务器文件权限centos,Centos7系统使用chmod修改文件权限方法
  12. cv.resize()详解
  13. Python爬取了猫眼47858万条评论,告诉你《飞驰人生》值不值得看?!
  14. Android一键锁屏代码
  15. amber分子动力学模拟干货总结
  16. 计导 第 10 章 软件工程
  17. 情怀被消费完了,共享民宿靠什么坚守岗位?
  18. 激光切割机,激光切割机的几种导入方式
  19. 贪吃蛇c语言课程设计报告下载,c语言课程设计-贪吃蛇游戏
  20. tf.quantization

热门文章

  1. 【爬虫练手小demo】爬取古诗词
  2. 应用密码学期末速通复习
  3. MS17-010漏洞检测与内网穿透技术的应用
  4. poll机制读取按键值
  5. 基于小程序的家校互动平台
  6. 【天赢金创】0 基础怎样开始学习做网站 (Ruby on Rails)?
  7. 深度学习/机器学习入门基础数学知识整理(一):线性代数基础,矩阵,范数等
  8. Matlab中firpm函数设计具有非对称衰减的 FIR 带通滤波器
  9. Android RIL简介
  10. 七月与安生:这一次终于看见了友情