溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vue.config.js常用配置是什么

發(fā)布時(shí)間:2022-05-05 16:42:56 來源:億速云 閱讀:137 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“vue.config.js常用配置是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“vue.config.js常用配置是什么”吧!

使用vue-cli3.0搭建項(xiàng)目比之前更簡(jiǎn)潔,沒有了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來替代。

在開發(fā)環(huán)境下,如果想把開發(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è)

是否開啟eslint保存檢測(cè),有效值:ture | false | 'error'

設(shè)置為 true 時(shí),eslint-loader 會(huì)將 lint 錯(cuò)誤輸出為編譯警告。默認(rèn)情況下,警告僅僅會(huì)被輸出到命令行,且不會(huì)使得編譯失敗

希望讓 lint 錯(cuò)誤在開發(fā)時(shí)直接顯示在瀏覽器中,可以使用 lintOnSave: 'error'。這會(huì)強(qiáng)制 eslint-loader 將 lint 錯(cuò)誤輸出為編譯錯(cuò)誤

webpack-dev-server 相關(guān)配置

devServer

  devServer: {
    open: true,//設(shè)置自動(dòng)打開
    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īng)用,頁面的配置
  pages: {
    index: {
      // page 的入口
      entry: 'src/index/main.js',
      // 模板來源
      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è)頁面中包含的塊,默認(rèn)情況下會(huì)包含
      // 提取出來的通用 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'
  },

  // 是否在開發(fā)環(huán)境下通過 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ì)通過 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è)庫構(gòu)建時(shí),你也可以將其設(shè)置為 false 免得用戶自己導(dǎo)入 CSS
    // 默認(rèn)生產(chǎn)環(huán)境下是 true,開發(fā)環(huán)境下是 false
    extract: false,
    // 是否為 CSS 開啟 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: {},

  // 可以用來傳遞任何第三方插件選項(xiàng)
  pluginOptions: {}
}

到此,相信大家對(duì)“vue.config.js常用配置是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI