搬運自:https://www.jianshu.com/p/b358a91bdf2d
前言
vue.config.js 是一個可選的配置文件,如果項目的 (和 package.json 同級的) 根目錄中存在這個文件,那么它會被 @vue/cli-service 自動加載。
也可以使用 package.json 中的 vue 字段,但是注意這種寫法需要嚴格遵照 JSON 的格式來寫。
vue.config.js導出一個包含了選項的對象:
module.exports = { //選項 }
配置選項(部分)
1. publicPath
Type: string Default: '/' 部署應用包時的基本 URL, 用法和 webpack 本身的 output.publicPath 一致。 這個值也可以被設置為空字符串 ('') 或是相對路徑 ('./'),這樣所有的資源都會被鏈接為相對路徑,這樣打出來的包可以被部署在任意路徑。
2. lintOnSave
Type: boolean | 'error' Default: true 是否在保存的時候使用 `eslint-loader` 進行檢查。 有效的值:`ture` | `false` | `"error"` 當設置為 `"error"` 時,檢查出的錯誤會觸發編譯失敗。
3. configureWebpack
Type: Object | Function 如果這個值是一個對象,則會通過 webpack-merge 合並到最終的配置中。 如果這個值是一個函數,則會接收被解析的配置作為參數。該函數及可以修改配置並不返回任何東西,也可以返回一個被克隆或合並過的配置版本。
4. chainWebpack
Type: Function
是一個函數,會接收一個基於 webpack-chain 的 ChainableConfig 實例。允許對內部的 webpack 配置進行更細粒度的修改。
5.css.loaderOptions
Type: Object
Default: {}
向 CSS 相關的 loader 傳遞選項。
6. devServer
Type: Object 所有 webpack-dev-server 的選項都支持。注意: 有些值像 host、port 和 https 可能會被命令行參數覆寫。 有些值像 publicPath 和 historyApiFallback 不應該被修改,因為它們需要和開發服務器的 publicPath 同步以保障正常的工作。
6.1 devServer.proxy
Type: string | Object
如果你的前端應用和后端 API 服務器沒有運行在同一個主機上,你需要在開發環境下將 API 請求代理到 API 服務器。
這個問題可以通過 vue.config.js 中的 devServer.proxy 選項來配置。