vue2之vue.config.js最全配置教程
vue.config.js 相當(dāng)于之前的webpack 打包工具
配置目錄:
const path = require('path');
?
function resolve(dir) {
? return path.join(__dirname, dir)
}
?
?
module.exports = {
?
? productionSourceMap: false,// 生產(chǎn)環(huán)境是否要生成 sourceMap
?
? publicPath: './', ?// ? 部署應(yīng)用包時的基本 URL
?
? outputDir: 'dist', ?// ? 打包時輸出的文件目錄
?
? assetsDir: 'assets', ?// ? 放置靜態(tài)文件夾目錄
?
? devServer:{},// dev環(huán)境下,webpack-dev-server 相關(guān)配置
?
? lintOnSave: false,//是否在開發(fā)環(huán)境下每次保存代碼時都啟用 eslint驗證
?
? css:{},// css的處理
?
? chainWebpack:config=>{} //vue-cli內(nèi)部的webpack配置
?
? pluginOptions:{},// 可以用來傳遞任何第三方插件選項
?
}一 、 productionSourceMap
① productionSourceMap :false;
作用 : 把productionSourceMap 置為false,既可以減少包大小,也可以加密源碼。這樣打包后文件小而且別人看不到你的源碼了。
②productionSourceMap :true;
作用 : 項目打包后,代碼都是經(jīng)過壓縮加密的,如果運行時報錯,輸出的錯誤信息無法準(zhǔn)確得知是哪里的代碼報錯。 有了map就可以像未加密的代碼一樣,準(zhǔn)確的輸出是哪一行哪一列有錯。
二、 publicPath
項目打包時,打包出來的文件根目錄,如果我們設(shè)置成“/”則我們打包后默認(rèn)都是在dist目錄下,假設(shè)我們設(shè)置成"/app",我們所打包的dist目錄下會生成一個app目錄,打包后的資源文件都是在app目錄下的,這是所有的靜態(tài)資源都會找不到,所以我們一般都是設(shè)置成“/”的。
三、outputDir
項目打包時輸出的文件目錄,比如說設(shè)置成“dist”,那么我們打包后的目錄名稱就是“dist”,我們設(shè)置成“build”,打包后的目錄名稱就是“build”。
四、assetDir
我們放置靜態(tài)資源的目錄,項目剛創(chuàng)建時,默認(rèn)都是asset,所以一般我們不會動,直接配置 assetDir:"assets",當(dāng)然,如果你不太習(xí)慣,也可以換成你想要的名字,只需要把目錄名和這個名字時對應(yīng)的,比如說你習(xí)慣用static,目錄名稱是static,那么這里就可以寫成 assetsDir:"static"。
五、devServer
在dev環(huán)境下,webpck-dev-server的相關(guān)配置
devServer:{
?
port : 8080, //開發(fā)環(huán)境運行時的端口
?
https:false,//是否啟用HTTPS協(xié)議
?
open:true, //項目運行成功后是否直接打開瀏覽器
?
hot:true,//是否開啟熱加載
?
overlay:true,//當(dāng)出現(xiàn)編譯錯誤或警告時,在瀏覽器中顯示全屏覆蓋。
?
proxy: { ? //服務(wù)器代理
?
? ? ?'/api': {
? ? ? ? target: "api-url", ? // 實際跨域請求的API地址
? ? ? ? secure: false, ? // https請求則使用true
? ? ? ? ws: true,
? ? ? ? changeOrigin: true, ?// 跨域
? ? ? ? // 請求地址重寫 ?http://front-end/api/login ? http://api-url/login
? ? ? ? pathRewrite: {
? ? ? ? ? '^/api': '/',
? ? ? ? }
?
? ? },
?
?
}六、lintOnSave
前端程序員都會有一個通病,每次寫完一點代碼,哪怕寫了一個單詞,定義一個變量,都會習(xí)慣性的格式化一下代碼,保存下代碼,這個配置就是每次我們保存代碼時,是否要經(jīng)過esLint檢查代碼的,因為我個人不太習(xí)慣使用esLint,所以沒有做過多了解,如果項目中有使用eslint的話,不想被檢查到,就可以用,如果沒有,可以不用寫這個配置。
七、css的處理
css:{
loaderOptions:{
less:{},
scss:{},
css:{}
}
}
①loaderOptions的作用:向 webpack 的預(yù)處理器 loader 傳遞選項。共享全局變量
②less的配置
less: {
data:"@import "@/assets/styles/mixin.less" // 把less文件注入全局,在全局可以直接使用
}
③scss的配置
scss: {
prependData: `@import "@/assets/styles/theme.scss";`//全局注入scss文件,可以在文件內(nèi)編寫scss代碼
}
④
css: {
prependData: `@import "@/assets/styles/reset.css";`//全局注入scss文件,可以在文件內(nèi)編寫css代碼
}
八、chainWebpack
CLI內(nèi)部webpack配置,會被 webpack-merge 合并入最終的 webpack 配置,有兩種寫法。函數(shù)和對象的形式,這里只介紹我常用的函數(shù)形式。
chainWebpack:config=>{
const types = ['vue-modules', 'vue', 'normal-modules', 'normal'];
config.resolve.alias.set('@', resolve('src'))//配置src別名為@
}
還有很多基礎(chǔ)配置,這些也是我比較常用的配置,大家可以做個參考
到此這篇關(guān)于vue2之vue.config.js最全配置教程的文章就介紹到這了,更多相關(guān)vue.config.js配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue.config.js常用配置詳解
- 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完整配置教程
- vue配置vue.config.js超詳細(xì)教程
- vue3中配置文件vue.config.js不生效的解決辦法
- Vue.config.js配置報錯ValidationError:?Invalid?options?object解決辦法
- vue.config.js配置報錯解決辦法(可能是與webpack混淆)
相關(guān)文章
vue在取對象長度length時候出現(xiàn)undefined的解決
這篇文章主要介紹了vue在取對象長度length時候出現(xiàn)undefined的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
webpack vue項目開發(fā)環(huán)境局域網(wǎng)訪問方法
下面小編就為大家分享一篇webpack vue項目開發(fā)環(huán)境局域網(wǎng)訪問方法,具有很好的參考價值,希望對大家有所幫助,一起跟隨小編過來看看吧2018-03-03
Vue-router優(yōu)化import引入過多導(dǎo)致index文件臃腫問題
這篇文章主要為大家介紹了Vue-router優(yōu)化import引入過多導(dǎo)致index文件臃腫問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08

