vue2之vue.config.js最全配置教程

vue.config.js 相當於之前的webpack 打包工具

配置目錄:

const path = require('path');
 
function resolve(dir) {
  return path.join(__dirname, dir)
}
 
 
module.exports = {
 
  productionSourceMap: false,// 生產環境是否要生成 sourceMap
 
  publicPath: './',  //   部署應用包時的基本 URL
 
  outputDir: 'dist',  //   打包時輸出的文件目錄
 
  assetsDir: 'assets',  //   放置靜態文件夾目錄
 
  devServer:{},// dev環境下,webpack-dev-server 相關配置
 
  lintOnSave: false,//是否在開發環境下每次保存代碼時都啟用 eslint驗證
 
  css:{},// css的處理
 
  chainWebpack:config=>{} //vue-cli內部的webpack配置
 
  pluginOptions:{},// 可以用來傳遞任何第三方插件選項
 
}

一 、 productionSourceMap

① productionSourceMap :false;

作用 : 把productionSourceMap 置為false,既可以減少包大小,也可以加密源碼。這樣打包後文件小而且別人看不到你的源碼瞭。

②productionSourceMap :true;

作用 : 項目打包後,代碼都是經過壓縮加密的,如果運行時報錯,輸出的錯誤信息無法準確得知是哪裡的代碼報錯。 有瞭map就可以像未加密的代碼一樣,準確的輸出是哪一行哪一列有錯。

二、 publicPath

項目打包時,打包出來的文件根目錄,如果我們設置成“/”則我們打包後默認都是在dist目錄下,假設我們設置成"/app",我們所打包的dist目錄下會生成一個app目錄,打包後的資源文件都是在app目錄下的,這是所有的靜態資源都會找不到,所以我們一般都是設置成“/”的。

三、outputDir

項目打包時輸出的文件目錄,比如說設置成“dist”,那麼我們打包後的目錄名稱就是“dist”,我們設置成“build”,打包後的目錄名稱就是“build”。

四、assetDir

我們放置靜態資源的目錄,項目剛創建時,默認都是asset,所以一般我們不會動,直接配置 assetDir:"assets",當然,如果你不太習慣,也可以換成你想要的名字,隻需要把目錄名和這個名字時對應的,比如說你習慣用static,目錄名稱是static,那麼這裡就可以寫成 assetsDir:"static"。

五、devServer

在dev環境下,webpck-dev-server的相關配置

devServer:{
 
port : 8080, //開發環境運行時的端口
 
https:false,//是否啟用HTTPS協議
 
open:true, //項目運行成功後是否直接打開瀏覽器
 
hot:true,//是否開啟熱加載
 
overlay:true,//當出現編譯錯誤或警告時,在瀏覽器中顯示全屏覆蓋。
 
proxy: {   //服務器代理
 
     '/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

前端程序員都會有一個通病,每次寫完一點代碼,哪怕寫瞭一個單詞,定義一個變量,都會習慣性的格式化一下代碼,保存下代碼,這個配置就是每次我們保存代碼時,是否要經過esLint檢查代碼的,因為我個人不太習慣使用esLint,所以沒有做過多瞭解,如果項目中有使用eslint的話,不想被檢查到,就可以用,如果沒有,可以不用寫這個配置。

七、css的處理

css:{
 
loaderOptions:{
 
  less:{},
 
  scss:{},
 
  css:{}
 
 } 
 
}

①loaderOptions的作用:向 webpack 的預處理器 loader 傳遞選項。共享全局變量

②less的配置

less: {
       data:"@import "@/assets/styles/mixin.less" // 把less文件註入全局,在全局可以直接使用
    }

③scss的配置

scss: {
   prependData: `@import "@/assets/styles/theme.scss";`//全局註入scss文件,可以在文件內編寫scss代碼
  }

css: {
   prependData: `@import "@/assets/styles/reset.css";`//全局註入scss文件,可以在文件內編寫css代碼
  }

八、chainWebpack

CLI內部webpack配置,會被 webpack-merge 合並入最終的 webpack 配置,有兩種寫法。函數和對象的形式,這裡隻介紹我常用的函數形式。

chainWebpack:config=>{
 
  const types = ['vue-modules', 'vue', 'normal-modules', 'normal'];
 
  config.resolve.alias.set('@', resolve('src'))//配置src別名為@
}

還有很多基礎配置,這些也是我比較常用的配置,大傢可以做個參考

到此這篇關於vue2之vue.config.js最全配置教程的文章就介紹到這瞭,更多相關vue.config.js配置內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: