module.exports = {
// 基本路徑
baseUrl: process.env.NODE_ENV ===
'production'
?
'/'
:
'/'
,
// 輸出文件目錄
outputDir:
'dist'
,
// 默認dist
// 用於嵌套生成的靜態資產(js,css,img,fonts)目錄
// assetsDir: '',
// 指定生成的 index.html 的輸出路徑 (相對於 outputDir)。也可以是一個絕對路徑
indexPath:
'index.html'
,
// Default: 'index.html'
filenameHashing:
true
,
// 構建多頁時使用
pages: undefined,
// eslint-loader是否在保存的時候檢查
lintOnSave:
true
,
// 是否使用包含運行時編譯器的Vue核心的構建
runtimeCompiler:
false
,
// 默認情況下 babel-loader 會忽略所有 node_modules 中的文件。如果你想要通過 Babel 顯式轉譯一個依賴,可以在這個選項中列出來
transpileDependencies: [],
// 如果你不需要生產環境的 source map,可以將其設置為 false 以加速生產環境構建。
productionSourceMap:
false
,
// 如果這個值是一個對象,則會通過 webpack-merge 合並到最終的配置中。如果這個值是一個函數,則會接收被解析的配置作為參數。該函數及可以修改配置並不返回任何東西,也可以返回一個被克隆或合並過的配置版本。
configureWebpack: config => {
if
(process.env.NODE_ENV ===
'production'
) {
// 為生產環境修改配置...
}
else
{
// 為開發環境修改配置...
}
},
// 是一個函數,會接收一個基於 webpack-chain 的 ChainableConfig 實例。允許對內部的 webpack 配置進行更細粒度的修改。
chainWebpack: config => {
/*config.module
.rule('images')
.use('url-loader')
.loader('url-loader')
.tap(options => {
// 修改它的選項...
return options
})*/
},
// css相關配置
css: {
// 啟用 CSS modules
modules:
false
,
// 是否使用css分離插件
extract:
true
,
// 開啟 CSS source maps?
sourceMap:
false
,
// css預設器配置項
loaderOptions: {},
},
// webpack-dev-server 相關配置
devServer: {
host:
'0.0.0.0'
,
port: 8080,
https:
false
,
open:
true
,
hotOnly:
false
,
proxy:
null
,
// 設置代理
before: app => {},
},
// PWA 插件相關配置
pwa: {},
// 第三方插件配置
pluginOptions: {
// ...
}
}
