專案上線-CDN
專案上線
對專案進行打包, 將打包後的內容,部署到伺服器中
打包 : npm run build
把打好的包放到 http-server 裡面,演示
第一次截圖
- 介紹 vendor : 裡面放一些第三方包 vue/vue-router/element-ui 包等
只要不是我們自己寫的程式碼,都屬於第三方 - 優化 :
2.1 優化打包的第三方 (CDN)
2.2 按需載入首屏載入時間,是衡量一個網站效能快慢的很重要的一個指標,
首屏載入時間越快,使用者存留就越多,使用者量就越高
如何提高載入速度呢?
//1. 只載入首屏中看到的內容, 沒有看到的內容都不載入,需要用到的時候,再去載入
//2. 進來減少首屏的請求次數
//3. vue 專案打包的時候,如何實現按需載入功能 ?
// 實現說明 : vue 的非同步元件(路由) 配合 webpack 程式碼分割的功能,很容易實現按需載入功能
// 如何在專案中,通過程式碼實現按需載入呢 ? 講匯入元件的位置, 改為動態載入
-
按需載入 :
參考 : vue-router => 路由欄載入
const Home = () => import(’@/components/Home/Home.vue’) -
打包檢視 js 檔案
第二次擷取
- 檢視多的 js 檔案
- 重新打包執行,演示點選進入按需載入
- 打包 GoodsAdd 和 Goods 在一起的包
const Goods = () =>
import(/_ webpackChunkName:‘goods’ / ‘@/components/Goods/Goods.vue’)
const GoodsAdd = () =>
import(/ webpackChunkName:‘goods’ _/ ‘@/components/GoodsAdd/GoodsAdd.vue’)
第三次截圖
- 名字是 goods
- 檔案也少了一個
CDN
為什麼打包後,第三方檔案體積很大,因為第三方檔案比較多
如何優化 ?? 不再將第三方檔案 打包到 dist, 但是, 專案中還是要是要第三方檔案,我們通過一個線上的
的第三方檔案路徑, 來引入這個檔案,(CDN)
- 在 index.html 引入 CDN 檔案
- 在 webpack.base.conf.js
externals : {
vue : 'Vue',
"vue-router" : "VueRouter"
}
-
其他配置
-
以後使用 :
4.1 bootstrap => bootCDN
4.2 https://www.jsdelivr.com/
4.3 官方文件
專案打包和優化
- 打包命令:
npm run build
按需載入
- 1 修改
router/index.js
中匯入元件的語法
// 使用:
const Home = () => import('@/components/home/Home');
// 替換:
// import Home from '@/components/home/Home'
// 給打包生產的JS檔案起名字
const Home = () =>
import(/* webpackChunkName: 'home' */ '@/components/home/Home');
// chunkName相同,將 goods 和 goods-add 兩個元件,打包到一起
const Goods = () =>
import(/* webpackChunkName: 'goods' */ '@/components/goods');
const GoodsAdd = () =>
import(/* webpackChunkName: 'goods' */ '@/components/goods-add');
- 2 (該步可省略)修改
/build/webpack.prod.conf.js
中的 chunkFilename
{
// [name] 代替 [id]
chunkFilename: utils.assetsPath('js/[name].[chunkhash].js');
}
使用 CDN
-
1 在
index.html
中引入 CDN 提供的 JS 檔案 -
2 在
/build/webpack.base.conf.js
中(resolve 前面)新增配置 externals -
注意:通過 CDN 引入 element-ui 的樣式檔案後,就不需要在 main.js 中匯入 element-ui 的 CSS 檔案了。所以,直接註釋掉 main.js 中的匯入 element-ui 樣式即可
-
externals
配置:
externals: {
// 鍵:表示 匯入包語法 from 後面跟著的名稱
// 值:表示 script 引入JS檔案時,在全域性環境中的變數名稱
vue: 'Vue',
axios: 'axios',
'vue-router': 'VueRouter',
'element-ui': 'ELEMENT',
BMap: 'BMap',
echarts: 'echarts',
}
import ElementUI from 'element-ui'
常用包 CDN
-
說明:
- 1 先在官方文件查詢提供的 CDN
- 2 如果沒有,在
https://www.bootcdn.cn/
或其他 CDN 提供商 查詢
Quill
<!-- Include the Quill library -->
<script src="https://cdn.bootcss.com/quill/1.3.4/quill.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-quill-editor@3.0.4/dist/vue-quill-editor.js"></script>
<!-- Include stylesheet -->
<link
href="https://cdn.bootcss.com/quill/2.0.0-dev.3/quill.core.min.css"
rel="stylesheet"
/>
<link
href="https://cdn.bootcss.com/quill/2.0.0-dev.3/quill.snow.min.css"
rel="stylesheet"
/>
<link
href="https://cdn.bootcss.com/quill/2.0.0-dev.3/quill.bubble.min.css"
rel="stylesheet"
/>
相關文章
- 那些靠它它會倒的 CDN 資源—線上專案出現引用的 CDN 資源無法載入的問題(最近CDN不穩定)
- 線上快速建立SpringBoot專案Spring Boot
- Vue專案上線前的優化以及專案打包上線流程Vue優化
- luffy路飛專案上線03
- 線上電影專案介紹
- Vue 生產專案連結 — 上線專案大集合Vue
- Linux Centos7 nodeJS專案上線LinuxCentOSNodeJS
- 多專案上線Nginx+Django+uwsgiNginxDjango
- Flutter上線專案實戰——路由篇Flutter路由
- 軟體專案上線完整流程
- CDN哪家好用?國內伺服器cdn防禦和海外cdn加速專線服務商排名伺服器
- Vue專案上線環境部署,專案優化策略,生成打包報告,及上線相關配置Vue優化
- 【原創】專案估算-專案管理MSN群線上討論(2009.6.30)專案管理
- vue專案打包過大,使用cdn優化Vue優化
- 個人React / Koa 專案上線——健身筆記React筆記
- Laravel 專案正式上線後需要做哪些操作?Laravel
- 學成線上專案總結 - Day1
- 最新Python爬蟲專案班(七月線上)Python爬蟲
- 網際網路公司專案的上線過程
- 開源一個線上專案 WeAre-AR相簿
- Laravel 專案上線的一些注意事項Laravel
- centos+nginx+uwsgi部署django專案上線詳解CentOSNginxDjango
- Flutter上線專案實戰——Vap視訊動畫Flutter動畫
- 線上教育專案(六)----統一返回資料格式
- 專案上線之後,出現過線上問題嗎?怎麼排查和解決的?
- 記錄MVC專案部署時的CDN快取問題MVC快取
- 網站伺服器採用CDN+專線 ,完美加速網站伺服器
- 實戰 | 如何上線一個機器學習專案?機器學習
- 如何將c#線上編輯器嵌入自己專案C#
- 透過線上的文件協作進行專案管理專案管理
- 使用 Cursor 和 Devbox 快速開發並上線 Gin 專案dev
- 專案沒上線時效能指標怎麼獲取?指標
- .NET 開源許可權認證專案 MiniAuth上線
- Git強制將本地專案覆蓋線上倉庫Git
- 準備的一年的專案上線失敗
- 開源框架 WebFirst 一鍵生成專案,線上建表框架Web
- Flutter上線專案實戰——圖片視訊預覽Flutter
- 智慧CDN(上):CDN的訪問過程和加速原理