电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Vue使用CDN引用項(xiàng)目組件,減少項(xiàng)目體積的步驟

瀏覽:3日期:2022-11-08 10:53:45

Vue項(xiàng)目打包后有的文件動(dòng)輒幾百KB或幾M,這對一個(gè)前端項(xiàng)目的加載無疑是致命的。當(dāng)你的服務(wù)器部署在阿里云或亞馬遜,每秒只有100kb的加載速度時(shí),頁面的載入速度絕對讓你崩潰。那么有什么辦法可以在依舊是100kb/s的加載速度下讓我們的頁面快起來呢?CDN算是其中之一的解決辦法。

首先,我們要明白為什么我的Vue項(xiàng)目在打包后產(chǎn)生的文件會(huì)那么大。我們在最開始使用Vue的時(shí)候幾乎所有組件、插件的引用都會(huì)放到項(xiàng)目主文件中進(jìn)行即 main.js文件,我們的引用方式可能是這樣的:

import Vue from ’vue’import App from ’./App’import Router from ’vue-router’import ElementUI from ’element-ui’import axios from ’axios’import ’element-ui/lib/theme-chalk/index.css’import cookies from ’vue-cookies’import qs from ’qs’import store from ’./store’

項(xiàng)目在打包的時(shí)候就會(huì)去自動(dòng)查找依賴,并將依賴文件全部打入到項(xiàng)目中去,正是這些依賴的文件的存在導(dǎo)致了整個(gè)項(xiàng)目文件的體積龐大了起來。但是依賴文件又是必須的,總不可能把依賴文件刪除了不是。CDN的出現(xiàn)就為上述情況提供了一種解決方案。

CDN全稱Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。CDN是構(gòu)建在現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)之上的智能虛擬網(wǎng)絡(luò),依靠部署在各地的邊緣服務(wù)器,通過中心平臺的負(fù)載均衡、內(nèi)容分發(fā)、調(diào)度等功能模塊,使用戶就近獲取所需內(nèi)容,降低網(wǎng)絡(luò)擁塞,提高用戶訪問響應(yīng)速度和命中率。

Vue中使用CDN就相當(dāng)于是將原本自己項(xiàng)目所需要下載的依賴文件交由用戶的網(wǎng)絡(luò)進(jìn)行下載,Vue中僅僅保持對依賴文件的引用即可。主要需要改動(dòng)的有兩個(gè)地方一個(gè)是Vue的index.html,以及build目錄下的webpack.base.conf.js,廢話不多說,上代碼:

<!DOCTYPE html><html><head> <meta charset='utf-8'> <meta name='viewport' content='width=device-width,initial-scale=1.0'> <title>Demo index html</title> <link rel='stylesheet' rel='external nofollow' ></head><body><div id='app'></div><!-- built files will be auto injected --><script src='https://cdn.jsdelivr.net/npm/vue@2.6.0'></script><script src='https://cdn.jsdelivr.net/npm/vue-router@3.1.3'></script><script src='https://cdn.jsdelivr.net/npm/js-md5@0.7.3'></script><script src='https://cdn.jsdelivr.net/npm/element-ui@2.12.0/lib/index.js'></script></body></html>

所引用的資源文件Url分為幾部分:

第一部分:https://cdn.jsdelivr.net/npm 指定當(dāng)前資源下載站點(diǎn),與之類似的還有UNPKG、cdnjs.com、BootCDN等。個(gè)人比較推薦使用jsdelivr,速度比較穩(wěn)定

第二部分:所要引用的包名,如:vue, vue-route, element-ui

第三部分:具體引用依賴的版本號或具體文件,如:@2.6.0,@2.12.0/lib/index.js 此部分為可選部分

css文件也可以使用cdn來進(jìn)行引用

上述配置完成后,還需要修改build/webpack.base.conf.js文件:

’use strict’const path = require(’path’)const utils = require(’./utils’)const config = require(’../config’)const vueLoaderConfig = require(’./vue-loader.conf’)function resolve(dir) { return path.join(__dirname, ’..’, dir)}module.exports = { externals:{ ’vue’:’Vue’, ’element-ui’:’ELEMENT’, ’vue-router’:’VueRouter’, 'moment': 'moment', 'md5': 'js-md5' }, context: path.resolve(__dirname, ’../’), entry: { app: ’./src/main.js’ }, output: { path: config.build.assetsRoot, filename: ’[name].js’, publicPath: process.env.NODE_ENV === ’production’ ? config.build.assetsPublicPath : config.dev.assetsPublicPath },

如果沒有標(biāo)注部分的代碼,請插入。在externals配置中,像Vue、ELEMENT、VueRouter這些都是固定寫法,webpack會(huì)根據(jù)這些字符自動(dòng)查找相關(guān)依賴并引入

在修改完上述文件后,還需要修改main.js中關(guān)于這些文件的應(yīng)用:

import Vue from 'vue';import App from './App';import router from 'VueRouter';import cookies from 'vue-cookies';import VueAxios from 'vue-axios';import axios from 'axios';//elementUI無需在引用,如需使用相關(guān)代碼請使用ELEMENT代替如:const Message = ELEMENT.Message;

至此配置全部完成,需要注意的是使用CDN之后,用戶在訪問你的頁面時(shí)都會(huì)去請求所配置的CDN文件,所以選擇一個(gè)速度快且穩(wěn)定的CDN站點(diǎn)十分重要的;還有就是并不是所有的依賴文件都可使用此等方式引用,有些組件是不會(huì)導(dǎo)出對象的,也就意味著不能使用CDN來完成使用。

以上就是Vue使用CDN引用項(xiàng)目組件,減少項(xiàng)目體積的步驟的詳細(xì)內(nèi)容,更多關(guān)于vue 減少項(xiàng)目體積的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Vue
主站蜘蛛池模板: 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 非小号行情 - 专业的区块链、数字藏品行情APP、金色财经官网 | 萃取箱-萃取槽-PVC萃取箱厂家-混合澄清槽- 杭州南方化工设备 | 丹佛斯变频器-丹佛斯压力开关-变送器-广州市风华机电设备有限公司 | 厂房出售_厂房仓库出租_写字楼招租_土地出售-中苣招商网-中苣招商网 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 美甲贴片-指甲贴片-穿戴美甲-假指甲厂家--薇丝黛拉 | 消泡剂-水处理消泡剂-涂料消泡剂-切削液消泡剂价格-东莞德丰消泡剂厂家 | 电子巡更系统-巡检管理系统-智能巡检【金万码】 | 济南宣传册设计-画册设计_济南莫都品牌设计公司 | 冷水机,风冷冷水机,水冷冷水机,螺杆冷水机专业制造商-上海祝松机械有限公司 | 数控车床-立式加工中心-多功能机床-小型车床-山东临沂金星机床有限公司 | 光照全温振荡器(智能型)-恒隆仪器 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 数显恒温油浴-电砂浴-高温油浴振荡器-常州迈科诺仪器有限公司 | 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 清水混凝土修复_混凝土色差修复剂_混凝土色差调整剂_清水混凝土色差修复_河南天工 | 天津拓展_天津团建_天津趣味运动会_天津活动策划公司-天津华天拓展培训中心 | 耐驰泵阀管件制造-耐驰泵阀科技(天津)有限公司 | 拉力机-万能试验机-材料拉伸试验机-电子拉力机-拉力试验机厂家-冲击试验机-苏州皖仪实验仪器有限公司 | 小型高低温循环试验箱-可程式高低温湿热交变试验箱-东莞市拓德环境测试设备有限公司 | 地图标注-手机导航电子地图如何标注-房地产商场地图标记【DiTuBiaoZhu.net】 | 液压压力机,液压折弯机,液压剪板机,模锻液压机-鲁南新力机床有限公司 | 语料库-提供经典范文,文案句子,常用文书,您的写作得力助手 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 无线遥控更衣吊篮_IC卡更衣吊篮_电动更衣吊篮配件_煤矿更衣吊篮-力得电子 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 钢板仓,大型钢板仓,钢板库,大型钢板库,粉煤灰钢板仓,螺旋钢板仓,螺旋卷板仓,骨料钢板仓 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 高压负荷开关-苏州雷尔沃电器有限公司| 香港新时代国际美容美发化妆美甲培训学校-26年培训经验,值得信赖! | 高扬程排污泵_隔膜泵_磁力泵_节能自吸离心水泵厂家-【上海博洋】 | 航拍_专业的无人机航拍摄影门户社区网站_航拍网 | 杭州中策电线|中策电缆|中策电线|杭州中策电缆|杭州中策电缆永通集团有限公司 | 安徽泰科检测科技有限公司【官方网站】| 中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折! |