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