Webpack怎么引入CDN链接来优化编译后的体积

背景

在 Vue 项目中,引入到工程中的所有 js 文件,编译时都会被打包进 vendor.js,也就导致了 vendor.js 文件体积变得相当臃肿,一定程度上影响着页面的渲染。为了减少编译后的体积,提高页面渲染速度,我们可以通过引入 CDN 链接把库分离,多线程异步 js 库,从而达到加速渲染的目的。那么我们如何做呢?

步骤

1.引入CDN链接

在项目的 index.html 中,常规方式引入 CDN 链接,此处以 vue 和 element-ui 为例:

<body>
 <div id="app"></div>
 <!-- CDN方式引入vue -->
 <script src="https://unpkg.com/vue/dist/vue.js"></script>
 <!-- CDN方式引入element-ui -->
 <script src="https://unpkg.com/element-ui@2.8.2/lib/index.js"></script>
</body>

2.添加externals属性

Vue-cli 2

在项目的 build/webpack.base.conf.js 中,在下面合适位置添加 externals 相关语句,在 entry 后面加入即可:

module.exports = {
 context: path.resolve(__dirname, '../'),
 entry: {
 function: './src/main.js'
 },
 externals:{
 'vue': 'Vue',
 'element-ui': 'ElementUI'
 }
 ...
}

Vue-cli 3

在项目根目录的 vue.config.js 中,将 configureWebpack 配置代码块添加进入即可:

module.exports = {
 configureWebpack:{
 externals: {
  'vue': 'Vue',
  'element-ui': 'ElementUI'
 }
 }
}

注意:在上述代码中,'vue': 'Vue' 对应形式为 key : value,其中 key 为项目中引用的名称,而 value 是资源本身定义的名称(不可改),正常情况下我们可以参照 src/main.js 进行查看:

import Vue from 'vue'
import ElementUI from 'element-ui'
//打开src/main.js查阅以上两行代码,其前面作为value,后面作为key。

3.注释import及Vue.use(xxx)

在项目的 src/main.js 中,注释掉以下语句:

// import Vue from 'vue'
// import ElementUI from 'element-ui'
// import 'element-ui/lib/theme-chalk/index.css'
import App from './App'

Vue.config.productionTip = false

// Vue.use(ElementUI)

注:使用 eslint 规则的项目请不要注释 import 及 Vue.use,除非你不使用那烦人的 eslint。

完成以上步骤后就可以开始执行 npm run build,你会发现编译后的 vendor.js 从几百K降到几十K,也就意味着优化体积已经成效。 另外,有好多网友先前为了减少体积就已经配置了 按需引入,如果引入 CDN 之后,记得把按需引入的配置去掉哦,因为引入 CDN 之后就不存在按需引入这种说法啦!

原创文章,作者:FASHH,如若转载,请注明出处:http://www.wangzhanshi.com/n/13163.html

(0)
FASHH的头像FASHH
上一篇 2025年1月1日 17:07:23
下一篇 2025年1月1日 17:07:25

相关推荐

  • jquery中的cdn有什么用

    jQuery是前端开发最常见也是最流行的javascript库,如何去加载它才能使我们的项目性能更好以及问什么要用CDN? 当用户访问自己的站点时从服务器加载文件,每个服务器同时只…

    CDN加速 2025年1月1日
  • cdn服务器指的是什么意思

    cdn服务器是构建在网络之上的容分发网络,依靠部署在各地的边缘服务内器,通过中心平台的负容载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速…

    2025年1月2日
  • cdn的解释

    网站那些事内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。网站那些事CDN…

    2025年1月1日
  • 高防CDN的防护效果对比高防服务器好在哪里

    与其他CDN服务商相比,网站那些事CDN的主要优势包括稳定快速、性价比高、简单易用、高效智能。比较多的用户会问到稳定快速这个优点,一般来说,网站那些事的CDN特点是分担源站压力,避…

    2025年1月1日
  • 为什么要采用cdn加速呢?它的好处是什么呢?

    用户在购买网站那些事的CDN服务之后,在使用过程中会比较关心是否有实际效果,首先大家要先确保是否已经开通成功,然后按照基本步骤添加加速域名、配置CNAME,这些都成功搞定之后,接下…

    2025年1月2日
  • cdn的优点和缺点是什么

    与其他CDN服务商相比,网站那些事CDN的主要优势包括稳定快速、性价比高、简单易用、高效智能。比较多的用户会问到稳定快速这个优点,一般来说,网站那些事的CDN特点是分担源站压力,避…

    2025年1月1日
  • cdn优势体现在哪里

    用户在购买网站那些事的CDN服务之后,在使用过程中会比较关心是否有实际效果,首先大家要先确保是否已经开通成功,然后按照基本步骤添加加速域名、配置CNAME,这些都成功搞定之后,接下…

    2025年1月1日
  • 怎么样选择cdn厂商

    与其他CDN服务商相比,网站那些事CDN的主要优势包括稳定快速、性价比高、简单易用、高效智能。比较多的用户会问到稳定快速这个优点,一般来说,网站那些事的CDN特点是分担源站压力,避…

    2025年1月1日
  • 怎么用全站CDN部署Discourse论坛

    Discourse 介绍 Discourse 是一款由 Stack Overflow 的联合创始人——Jeff Atwood,基于 Ruby on Rails 开发的开源论坛。相较…

    2025年1月1日
  • 什么网站需要使用CDN加速

    一般的网站如果服务器在网通,电信用户访问很慢,如果服务器在电信,网通用户访问又很慢。 而国内访问量较高的网站、直播、视频平台,虽然网站的访问巨大,但无论在什么地方访问都会感觉速度很…

    CDN加速 2025年1月1日

发表回复

登录后才能评论