vue-cli4項目配置cdn引入靜態資源

腳手架版本:@vue/cli 4.4.1
在這裏插入圖片描述
vue.config.js中

module.exports = {
	//打包是否生成.map文件
	productionSourceMap: false,
	lintOnSave: false,
	configureWebpack: {
		externals: {
			'element-ui': 'ELEMENT',
			'vue': 'Vue',
			"vue-router": "VueRouter",
			'vuex': "Vuex",
			axios: 'axios'
		}
	},
	pages: {
		index: {
			entry: 'src/main.js',
			template: 'public/index.html',
			filename: 'index.html',
			chunks: ['chunk-vendors', 'chunk-common', 'index'],
			cdn: {
				css: [
					'https://cdn.jsdelivr.net/npm/[email protected]/lib/theme-chalk/index.css'
				],
				js: [
					"https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js",
					"https://cdn.jsdelivr.net/npm/[email protected]/dist/vue-router.min.js",
					"https://cdn.jsdelivr.net/npm/[email protected]/dist/vuex.min.js",
					"https://cdn.jsdelivr.net/npm/[email protected]/lib/index.js",
					"https://cdn.jsdelivr.net/npm/[email protected]/dist/axios.min.js"
				]
			},
		}
	},
	devServer: {
		port: 8013
	}
};

index.html

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width,initial-scale=1.0" />
  <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
  <% for (let i in htmlWebpackPlugin.options.cdn.css) { %>
  <link rel="stylesheet" href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" />
  <% } %>
</head>
<body>
  <div id="app"> </div>
  <% for (let i in htmlWebpackPlugin.options.cdn.js) { %>
  <script type="text/javascript" src="<%= htmlWebpackPlugin.options.cdn.js[i] %>"></script>
  <% } %>
</body>
</html>

是否要註釋掉引入

例如:import Vue from 'vue’這些,我看了一些博客說要註釋掉,但是我測試了註釋掉和不註釋的,打包處來文件大小是一樣的,應該是4版本的腳手架做了處理了.

補充說明

ELEMENT、VueRouter這些命名可以去源碼暴露出來的全局對象中查看
在這裏插入圖片描述
在這裏插入圖片描述

關於cdn地址

unpkg服務器在美國,jsdelivr在國內速度要快一些(很有意思的一點vue文檔裏面用的是jsdelivr,element-ui裏面用的是unpkg,黑人牙膏是國人品牌,中華牙膏是國外品牌一樣的原理?)
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章