vue.config.js配置項解讀
module.exports = {
// 部署應用時的基本 URL
baseUrl: process.env.NODE_ENV === 'production' ? '192.168.60.110:8080' : '192.168.60.110:8080',
// build時構(gòu)建文件的目錄 構(gòu)建時傳入 --no-clean 可關(guān)閉該行為
outputDir: 'dist',
// build時放置生成的靜態(tài)資源 (js、css脏款、img围苫、fonts) 的 (相對于 outputDir 的) 目錄
assetsDir: '',
// 指定生成的 index.html 的輸出路徑 (相對于 outputDir)。也可以是一個絕對路徑撤师。
indexPath: 'index.html',
// 默認在生成的靜態(tài)資源文件名中包含hash以控制緩存
filenameHashing: true,
// 構(gòu)建多頁面應用剂府,頁面的配置
pages: {
index: {
// page 的入口
entry: 'src/index/main.js',
// 模板來源
template: 'public/index.html',
// 在 dist/index.html 的輸出
filename: 'index.html',
// 當使用 title 選項時,template 中的 title 標簽需要是 <title><%= htmlWebpackPlugin.options.title %></title>
title: 'Index Page',
// 在這個頁面中包含的塊剃盾,默認情況下會包含
// 提取出來的通用 chunk 和 vendor chunk周循。
chunks: ['chunk-vendors', 'chunk-common', 'index']
},
// 當使用只有入口的字符串格式時,模板會被推導為 `public/subpage.html`万俗,并且如果找不到的話湾笛,就回退到 `public/index.html`。
// 輸出文件名會被推導為 `subpage.html`闰歪。
subpage: 'src/subpage/main.js'
},
// 是否在開發(fā)環(huán)境下通過 eslint-loader 在每次保存時 lint 代碼 (在生產(chǎn)構(gòu)建時禁用 eslint-loader)
lintOnSave: process.env.NODE_ENV !== 'production',
// 是否使用包含運行時編譯器的 Vue 構(gòu)建版本
runtimeCompiler: false,
// Babel 顯式轉(zhuǎn)譯列表
transpileDependencies: [],
// 如果你不需要生產(chǎn)環(huán)境的 source map嚎研,可以將其設(shè)置為 false 以加速生產(chǎn)環(huán)境構(gòu)建
productionSourceMap: true,
// 設(shè)置生成的 HTML 中 <link rel="stylesheet"> 和 <script> 標簽的 crossorigin 屬性(注:僅影響構(gòu)建時注入的標簽)
crossorigin: '',
// 在生成的 HTML 中的 <link rel="stylesheet"> 和 <script> 標簽上啟用 Subresource Integrity (SRI)
integrity: false,
// 如果這個值是一個對象,則會通過 webpack-merge 合并到最終的配置中
// 如果你需要基于環(huán)境有條件地配置行為,或者想要直接修改配置临扮,那就換成一個函數(shù) (該函數(shù)會在環(huán)境變量被設(shè)置之后懶執(zhí)行)论矾。該方法的第一個參數(shù)會收到已經(jīng)解析好的配置。在函數(shù)內(nèi)杆勇,你可以直接修改配置贪壳,或者返回一個將會被合并的對象
configureWebpack: {},
// 對內(nèi)部的 webpack 配置(比如修改、增加Loader選項)(鏈式操作)
chainWebpack: () => { },
// css的處理
css: {
// 當為true時蚜退,css文件名可省略 module 默認為 false
modules: true,
// 是否將組件中的 CSS 提取至一個獨立的 CSS 文件中,當作為一個庫構(gòu)建時闰靴,你也可以將其設(shè)置為 false 免得用戶自己導入 CSS
// 默認生產(chǎn)環(huán)境下是 true,開發(fā)環(huán)境下是 false
extract: false,
// 是否為 CSS 開啟 source map钻注。設(shè)置為 true 之后可能會影響構(gòu)建的性能
sourceMap: false,
//向 CSS 相關(guān)的 loader 傳遞選項(支持 css-loader postcss-loader sass-loader less-loader stylus-loader)
loaderOptions: { css: {}, less: {} }
},
// 所有 webpack-dev-server 的選項都支持
devServer: {},
// 是否為 Babel 或 TypeScript 使用 thread-loader
parallel: require('os').cpus().length > 1,
// 向 PWA 插件傳遞選項
pwa: {},
// 可以用來傳遞任何第三方插件選項
pluginOptions: {}
}