vue.config.js常用配置詳解
使用vue-cli3.0搭建項目比之前更簡潔,沒有了build和config文件夾。
vue-cli3的一些服務配置都遷移到CLI Service里面了,對于一些基礎配置和一些擴展配置需要在根目錄新建一個vue.config.js文件進行配置
module.exports = {
// 選項...
}
基本路徑
baseUrl從 Vue CLI 3.3 起已棄用使用publicPath來替代。
在開發(fā)環(huán)境下,如果想把開發(fā)服務器架設在根路徑,可以使用一個條件式的值
module.exports = {
publicPath: process.env.NODE_ENV === 'production' ? '/production-sub-path/' : '/'
}
構建輸出目錄(打包位置)
outputDir
當運行 vue-cli-service build 時生成的生產環(huán)境構建文件的目錄
module.exports = {
outputDir: 'dist',
}
靜態(tài)資源目錄
assetsDir
放置生成的靜態(tài)資源 (js、css、img、fonts) 的目錄
module.exports = {
assetsDir: 'assets',
}
eslint代碼檢測
是否開啟eslint保存檢測,有效值:ture | false | 'error'
設置為 true 時,eslint-loader 會將 lint 錯誤輸出為編譯警告。默認情況下,警告僅僅會被輸出到命令行,且不會使得編譯失敗
希望讓 lint 錯誤在開發(fā)時直接顯示在瀏覽器中,可以使用 lintOnSave: 'error'。這會強制 eslint-loader 將 lint 錯誤輸出為編譯錯誤
webpack-dev-server 相關配置
devServer
devServer: {
open: true,//設置自動打開
port: 1880,//設置端口
proxy: {
//設置代理
'/axios': {
target: 'http://101.15.22.98',
changeOrigin: true,
secure: false, //如果是http接口,需要配置該參數(shù)
pathRewrite: {
'^/axios': ''
}
}
}
}
}
module.exports = {
// 部署應用時的基本 URL
publicPath: process.env.NODE_ENV === 'production' ? '192.168.60.110:8080' : '192.168.60.110:8080',
// build時構建文件的目錄 構建時傳入 --no-clean 可關閉該行為
outputDir: 'dist',
// build時放置生成的靜態(tài)資源 (js、css、img、fonts) 的 (相對于 outputDir 的) 目錄
assetsDir: '',
// 指定生成的 index.html 的輸出路徑 (相對于 outputDir)。也可以是一個絕對路徑。
indexPath: 'index.html',
// 默認在生成的靜態(tài)資源文件名中包含hash以控制緩存
filenameHashing: true,
// 構建多頁面應用,頁面的配置
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 代碼 (在生產構建時禁用 eslint-loader)
lintOnSave: process.env.NODE_ENV !== 'production',
// 是否使用包含運行時編譯器的 Vue 構建版本
runtimeCompiler: false,
// Babel 顯式轉譯列表
transpileDependencies: [],
// 如果你不需要生產環(huán)境的 source map,可以將其設置為 false 以加速生產環(huán)境構建
productionSourceMap: true,
// 設置生成的 HTML 中 <link rel="stylesheet"> 和 <script> 標簽的 crossorigin 屬性(注:僅影響構建時注入的標簽)
crossorigin: '',
// 在生成的 HTML 中的 <link rel="stylesheet"> 和 <script> 標簽上啟用 Subresource Integrity (SRI)
integrity: false,
// 如果這個值是一個對象,則會通過 webpack-merge 合并到最終的配置中
// 如果你需要基于環(huán)境有條件地配置行為,或者想要直接修改配置,那就換成一個函數(shù) (該函數(shù)會在環(huán)境變量被設置之后懶執(zhí)行)。該方法的第一個參數(shù)會收到已經解析好的配置。在函數(shù)內,你可以直接修改配置,或者返回一個將會被合并的對象
configureWebpack: {},
// 對內部的 webpack 配置(比如修改、增加Loader選項)(鏈式操作)
chainWebpack: () =>{
},
// css的處理
css: {
// 當為true時,css文件名可省略 module 默認為 false
modules: true,
// 是否將組件中的 CSS 提取至一個獨立的 CSS 文件中,當作為一個庫構建時,你也可以將其設置為 false 免得用戶自己導入 CSS
// 默認生產環(huán)境下是 true,開發(fā)環(huán)境下是 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: {}
}
參考:http://www.dbjr.com.cn/article/146152.htm
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Vue-cli3項目配置Vue.config.js實戰(zhàn)記錄
- 如何配置vue.config.js 處理static文件夾下的靜態(tài)文件
- vue-cli3中vue.config.js配置教程詳解
- vue3中vue.config.js配置及注釋詳解
- vue.config.js完整配置教程
- vue2之vue.config.js最全配置教程
- vue配置vue.config.js超詳細教程
- vue3中配置文件vue.config.js不生效的解決辦法
- Vue.config.js配置報錯ValidationError:?Invalid?options?object解決辦法
- vue.config.js配置報錯解決辦法(可能是與webpack混淆)
相關文章
Vue通過Blob對象實現(xiàn)導出Excel功能示例代碼
這篇文章主要介紹了Vue通過Blob對象實現(xiàn)導出Excel功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
vue中實現(xiàn)當前時間echarts圖表時間軸動態(tài)的數(shù)據(jù)(實例代碼)
這篇文章主要介紹了vue中實現(xiàn)當前時間echarts圖表時間軸動態(tài)的數(shù)據(jù),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10
詳解Vue webapp項目通過HBulider打包原生APP
這篇文章主要介紹了詳解Vue webapp項目通過HBulider打包原生APP,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06
解決vue項目中前后端交互的跨域問題、nginx代理配置方式
這篇文章主要介紹了解決vue項目中前后端交互的跨域問題、nginx代理配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
詳解vue父子組件關于模態(tài)框狀態(tài)的綁定方案
這篇文章主要介紹了詳解vue父子組件關于模態(tài)框狀態(tài)的綁定方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06

