首页 > 其他分享 >重读vue电商网站49之第三方库使用CDN

重读vue电商网站49之第三方库使用CDN

时间:2023-03-10 11:35:19浏览次数:42  
标签:文件 vue 49 CDN externals 电商 第三方 打包


通过 externals 加载外部 CDN 资源

默认情况下,通过 import 语法导入的第三方依赖包,最终会被打包合并到同一个文件中,从而导致打包成功后,单文件体积过大的问题。

重读vue电商网站49之第三方库使用CDN_ios

 

例如上述 chunk-vendors.js 体积很大,原因是全部 import 所依赖的包进行了合并给它。

为了解决上述问题,可以通过 webpack 的 externals 节点,来配置并加载外部的 CDN 资源。凡是声明在externals 中的第三方依赖包,都不会被打包。

具体配置代码如下:

Javascript
config.set('externals', {
vue: 'Vue',
'vue-router': 'VueRouter',
axios: 'axios',
lodash: '_',
echarts: 'echarts',
nprogress: 'NProgress',
'vue-quill-editor': 'VueQuillEditor'
})
同时,需要在 public/index.html 文件的头部,添加如下的 CDN 资源引用:Code
<!-- nprogress 的样式表文件 -->
<link rel="stylesheet" href="https://cdn.staticfile.org/nprogress/0.2.0/nprogress.min.css" />
<!-- 富文本编辑器 的样式表文件 -->
<link rel="stylesheet" href="https://cdn.staticfile.org/quill/1.3.4/quill.core.min.css" />
<link rel="stylesheet" href="https://cdn.staticfile.org/quill/1.3.4/quill.snow.min.css" />
<link rel="stylesheet" href="https://cdn.staticfile.org/quill/1.3.4/quill.bubble.min.css" />
同时,需要在 public/index.html 文件的头部,添加如下的 CDN 资源引用:Javascript
<script src="https://cdn.staticfile.org/vue/2.5.22/vue.min.js"></script>
<script src="https://cdn.staticfile.org/vue-router/3.0.1/vue-router.min.js"></script>
<script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>
<script src="https://cdn.staticfile.org/lodash.js/4.17.11/lodash.min.js"></script>
<script src="https://cdn.staticfile.org/echarts/4.1.0/echarts.min.js"></script>
<script src="https://cdn.staticfile.org/nprogress/0.2.0/nprogress.min.js"></script>
<!-- 富文本编辑器的 js 文件 -->
<script src="https://cdn.staticfile.org/quill/1.3.4/quill.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue-quill-editor.js"></script>

标签:文件,vue,49,CDN,externals,电商,第三方,打包
From: https://blog.51cto.com/u_15460007/6112854

相关文章

  • spring学习49-延迟加载
    pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchem......
  • Vue 使用插件 Plugin,管理静态常量
    Vue常量使用第一种方法单独定义一个constant.js,内容如下://大屏卡片标题exportconstBIG_SCREEN_CARD_TITLE={memberCount:'注册人员数',todayCou......
  • vue2和vue3
    双向绑定更新vue2的双向数据绑定是利⽤ES5的⼀个API,Object.defineProperty()对数据进⾏劫持结合发布订阅模式的⽅式来实现的。vue3中使⽤了ES6的ProxyAPI对......
  • vue3中 defineComponent
    在这个例子中,父组件引用了MyComponent组件,并通过props传递了一个字符串作为message属性的值。在MyComponent组件中,我们可以通过props参数来获取这个值,并在se......
  • vue (或者 javascript ) 打印彩色日志
    typeAny=any/***创建console所需的style样式*@parambgColor*@paramfontColor*/constcreateStyle=function(bgColor:string,fontColor='#fff......
  • 【django-vue】celery延迟任务、定时任务 django中使用celery 秒杀功能 双写一致性
    目录上节回顾字符编码django-redis今日内容1celery执行异步任务,延迟任务,定时任务延时任务定时任务2django中使用celery2.1秒杀功能2.1.1视图2.1.2任务order_task.p......
  • vue获取公网ip
    <template><div><div>YourPublicIP:{{publicIP}}</div></div></template><script>exportdefault{data(){return{publicIP:''......
  • vue3+vite+element-plus按需加载动态图标icon优化方案
    1、问题:element-plus中icon跟element中的icon完全不同,使用也很多变化,最重要的一点就是按需动态加载了,主要用到unplugin-icons这个库根据按需加载icon的使用方法,是无法满......
  • 初识rollup 打包、配置vue脚手架
    rollupjavascript代码打包器,它使用了es6新标准代码模块格式。特点:面向未来,拥抱es新标准,支持标准化模块导入、导出等新语法。treeshaking静态分析导入的代码。......
  • 【LeeCode】349. 两个数组的交集
    【题目描述】给定两个数组 ​​nums1​​ 和 ​​nums2​​ ,返回 它们的交集 唯一 的。我们可以 不考虑输出结果的顺序 。​​​​https://leetcode.cn/problems/i......