Vue CLI配置指南(4)webpack 相關

2021-10-23 20:46:25 字數 2500 閱讀 3606

2.鏈式操作 (高階)

3.審查專案的 webpack 配置

4.以乙個檔案的方式使用解析好的配置

調整 webpack 配置最簡單的方式就是在 vue.config.js 中的 configurewebpack 選項提供乙個物件:

// vue.config.js

module.exports =

}

該物件將會被 webpack-merge 合併入最終的 webpack 配置。

警告有些 webpack 選項是基於 vue.config.js 中的值設定的,所以不能直接修改。例如你應該修改 vue.config.js 中的 outputdir 選項而不是修改 output.path;你應該修改 vue.config.js 中的 publicpath 選項而不是修改 output.publicpath。這樣做是因為 vue.config.js 中的值會被用在配置裡的多個地方,以確保所有的部分都能正常工作在一起。

如果你需要基於環境有條件地配置行為,或者想要直接修改配置,那就換成乙個函式 (該函式會在環境變數被設定之後懶執行)。該方法的第乙個引數會收到已經解析好的配置。在函式內,你可以直接修改配置,或者返回乙個將會被合併的物件:

// vue.config.js

module.exports =

else

}}

vue cli 內部的 webpack 配置是通過 webpack-chain 維護的。這個庫提供了乙個 webpack 原始配置的上層抽象,使其可以定義具名的 loader 規則和具名外掛程式,並有機會在後期進入這些規則並對它們的選項進行修改。

它允許我們更細粒度的控制其內部配置。接下來有一些常見的在 vue.config.js 中的 chainwebpack 修改的例子。

修改 loader 選項

// vue.config.js

module.exports =)}

}

新增乙個新的 loader
// vue.config.js

module.exports =

}

替換乙個規則裡的 loader

如果你想要替換乙個已有的基礎 loader,例如為內聯的 svg 檔案使用 vue-svg-loader 而不是載入這個檔案:

// vue.config.js

module.exports =

}

修改外掛程式選項
// vue.config.js

module.exports =)}

}

你需要熟悉 webpack-chain 的 api 並閱讀一些原始碼以便了解如何最大程度利用好這個選項,但是比起直接修改 webpack 配置,它的表達能力更強,也更為安全。

// vue.config.js

module.exports =)}

}

你可以通過接下來要討論的工具 vue inspect 來確認變更。

因為 @vue/cli-service 對 webpack 配置進行了抽象,所以理解配置中包含的東西會比較困難,尤其是當你打算自行對其調整的時候。

vue-cli-service 暴露了 inspect 命令用於審查解析好的 webpack 配置。那個全域性的 vue 可執行程式同樣提供了 inspect 命令,這個命令只是簡單的把 vue-cli-service inspect **到了你的專案中。

該命令會將解析出來的 webpack 配置、包括鏈式訪問規則和外掛程式的提示列印到 stdout。

你可以將其輸出重定向到乙個檔案以便進行查閱:

vue inspect > output.js
注意它輸出的並不是乙個有效的 webpack 配置檔案,而是乙個用於審查的被序列化的格式。

你也可以通過指定乙個路徑來審查配置的一小部分:

# 只審查第一條規則

vue inspect module.rules.

0

或者指向乙個規則或外掛程式的名字:

vue inspect --rule vue

vue inspect --plugin html

最後,你可以列出所有規則和外掛程式的名字:

vue inspect --rules

vue inspect --plugins

有些外部工具可能需要通過乙個檔案訪問解析好的 webpack 配置,比如那些需要提供 webpack 配置路徑的 ide 或 cli。在這種情況下你可以使用如下路徑:

/node_modules/@vue/cli-service/webpack.config.js

該檔案會動態解析並輸出 vue-cli-service 命令中使用的相同的 webpack 配置,包括那些來自外掛程式甚至是你自定義的配置。

vue cli4配置動態位址

有些資源位址 vue打包之後如果修改需要重新打包,這就很煩,有很多 vue cli2 的參考文件,剛好配置出了 vue cli4 在這裡記錄一下 安裝 generate asset webpack plugin yarn add generate asset webpack pluginvue.co...

vue cli4 環境配置

在專案中建立 env.development 檔案 npm run serve 預設指本檔案 建立.env.productionenv檔案 cnpm run build 預設此檔案 env.development 檔案 node env development 開發模式執行環境 env.produc...

Vue cli4 x的配置檔案配置方法

它不同於vue cli2.x的配置方法,將所有的配置檔案的檔案建好,而是將好多配置已經配置好,如果想修改預設的配置,需要在專案的根路徑下面新建乙個vue.config.js檔案。如下所示 在vue.config.js檔案中的配置大概如下 const webpack require webpack c...