在腳手架當(dāng)中我們總能看到 'vue$'配置了別名'vue/dist/vue.esm.js'alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('src')}module: {rules: [
...(config.dev.useEslint ? [createLintingRule()] : []),
{ test: /\.vue$/, loader: 'vue-loader', options: vueLoaderConfig
}]}但是我們實(shí)際引用vue的時(shí)候都是 import Vue from 'vue'并沒有走這個(gè)別名而vue的npm包中的package.json 中 "main": "dist/vue.runtime.common.js", 默認(rèn)是走vue.runtime.common.js所以問題來了 alias 中的 'vue$': 'vue/dist/vue.esm.js', 作用是什么呢???
2 回答

波斯汪
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
resolve-alias
這個(gè)是 webpack.rosolve.alias
的文檔, vue$
后面的 $
代表精確匹配

月關(guān)寶盒
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊
運(yùn)行時(shí) + 編譯器 vs. 只包含運(yùn)行時(shí)
這個(gè) vue
文檔, 是為什么要寫 'vue$': 'vue/dist/vue.esm.js'
,需要完整的含 編譯器
的 vue
版本時(shí)才寫
但是我們實(shí)際引用vue的時(shí)候都是 import Vue from 'vue'并沒有走這個(gè)別名
這個(gè)只要配置 alias
, webpack
在尋找依賴的時(shí)候會(huì)判斷 是否別名,肯定會(huì)走 vue$
的
module.rules
的test: /\.vue$/,
這個(gè) $
是正則的 $
,跟 alias
的 $
不是一回事
添加回答
舉報(bào)
0/150
提交
取消