const path = require(“path”);
module.exports = {
// 部署應用時的基本 URL
publicPath:
process.env.NODE_ENV === “production” ? “/production-sub-path/” : “/”,
// build時構建文件的目錄 構建時傳入 --no-clean 可關閉該行為
outputDir: “dist”,
// build時放置生成的靜態資源 (js、css、img、fonts) 的 (相對於 outputDir 的) 目錄
assetsDir: “”,
// 指定生成的 index.html 的輸出路徑 (相對於 outputDir)。也可以是一個絕對路徑。
indexPath: “index.html”,
// 默認在生成的靜態資源文件名中包含hash以控制緩存
filenameHashing: true,
// 構建多頁面應用,頁面的配置
pages: {
index: {
// page 的入口
entry: “src/main.js”,
// 模板來源
template: “public/index.html”,
// 在 dist/index.html 的輸出
filename: “index.html”,
// 當使用 title 選項時,
// template 中的 title 標簽需要是
title: “Index Page”,
// 在這個頁面中包含的塊,默認情況下會包含
// 提取出來的通用 chunk 和 vendor chunk。
chunks: [“chunk-vendors”, “chunk-common”, “index”]
},
// 當使用只有入口的字符串格式時,
// 模板會被推導為 public/subpage.html
// 並且如果找不到的話,就回退到 public/index.html。
// 輸出文件名會被推導為 subpage.html。
subpage: “src/main.js”
},
// 是否在開發環境下通過 eslint-loader 在每次保存時 lint 代碼 (在生產構建時禁用 eslint-loader)
lintOnSave: process.env.NODE_ENV !== “production”,
// 是否使用包含運行時編譯器的 Vue 構建版本
runtimeCompiler: false,
// Babel 顯式轉譯列表
transpileDependencies: [],
// 如果你不需要生產環境的 source map,可以將其設置為 false 以加速生產環境構建
productionSourceMap: true,
// 設置生成的 HTML 中 和
// 在生成的 HTML 中的 和
// 如果這個值是一個對象,則會通過 webpack-merge 合並到最終的配置中
// 如果你需要基於環境有條件地配置行為,或者想要直接修改配置,那就換成一個函數 (該函數會在環境變量被設置之后懶執行)。該方法的第一個參數會收到已經解析好的配置。在函數內,你可以直接修改配置,或者返回一個將會被合並的對象
configureWebpack: config => {
config.resolve = {
// 配置解析別名
extensions: [".js", “.json”, “.vue”],
alias: {
“@”: path.resolve(__dirname, “./src”),
components: path.resolve(__dirname, “./src/components”)
}
};
},
// 對內部的 webpack 配置(比如修改、增加Loader選項)(鏈式操作)
chainWebpack: () => {},
// css的處理
css: {
// 當為true時,css文件名可省略 module 默認為 false
modules: true,
// 是否將組件中的 CSS 提取至一個獨立的 CSS 文件中,當作為一個庫構建時,你也可以將其設置為 false 免得用戶自己導入 CSS
// 默認生產環境下是 true,開發環境下是 false
extract: false,
// 是否為 CSS 開啟 source map。設置為 true 之后可能會影響構建的性能
sourceMap: false,
//向 CSS 相關的 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: {}
};
————————————————
版權聲明:本文為CSDN博主「老黃n」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_36501494/article/details/106609908