最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue.config.js里面的devserver如何配置

 更新時(shí)間:2025年01月23日 10:56:37   作者:Flamingo_huohuo  
本文介紹了vue.config.js中devServer的常見配置方式,包括基本配置、代理配置、熱模塊替換、靜態(tài)資源服務(wù)、HTTPS配置、多代理配置以及其他配置項(xiàng),幫助開發(fā)者根據(jù)項(xiàng)目需求進(jìn)行定制

vue.config.js的devserver配置方式

以下是 vue.config.jsdevServer 的常見配置方式,以及不同配置項(xiàng)的解釋和使用場景:

1. 基本配置

在 Vue 項(xiàng)目中,vue.config.js 是一個(gè)可選的配置文件,用于自定義 Vue CLI 的內(nèi)部 Webpack 配置。

以下是一個(gè)簡單的 devServer 配置示例:

module.exports = {
  devServer: {
    port: 8080, // 開發(fā)服務(wù)器的端口號
    open: true, // 項(xiàng)目啟動時(shí)自動打開瀏覽器
    overlay: {
      warnings: false,
      errors: true // 在瀏覽器中顯示錯(cuò)誤信息
    }
  }
};

解釋

  • port:指定開發(fā)服務(wù)器運(yùn)行的端口號。如果不設(shè)置,默認(rèn)為 8080。
  • open:設(shè)置為 true 時(shí),項(xiàng)目啟動時(shí)會自動打開瀏覽器并訪問開發(fā)服務(wù)器的頁面。
  • overlay:控制是否在瀏覽器頁面上覆蓋顯示警告和錯(cuò)誤信息。將 errors 設(shè)置為 true 會在頁面上顯示編譯錯(cuò)誤,方便開發(fā)時(shí)快速定位問題。

2. 代理配置

使用 devServer 配置代理是解決開發(fā)環(huán)境中跨域問題的常用方法。

假設(shè)你需要將 /api 開頭的請求代理到 http://localhost:3000 上的后端服務(wù)器,可以這樣配置:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000', // 目標(biāo)服務(wù)器地址
        changeOrigin: true, // 修改請求頭中的 Origin 信息
        pathRewrite: {
          '^/api': '' // 重寫請求路徑,將 /api 替換為空
        }
      }
    }
  }
};

解釋

  • proxy:設(shè)置請求代理。
  • '/api':匹配以 /api 開頭的請求路徑。
  • target:將請求代理到的目標(biāo)服務(wù)器地址。
  • changeOrigin:將請求頭中的 Origin 字段修改為目標(biāo)服務(wù)器的地址,有助于繞過某些服務(wù)器的同源策略限制。
  • pathRewrite:重寫請求路徑,這里將 /api 前綴去掉,使請求路徑符合后端 API 的實(shí)際情況。

3. 熱模塊替換(HMR)

啟用熱模塊替換可以在不刷新頁面的情況下更新代碼,提升開發(fā)體驗(yàn):

module.exports = {
  devServer: {
    hot: true, // 啟用熱模塊替換
    hotOnly: true // 只使用熱更新,不刷新頁面
  }
};

解釋

  • hot:啟用熱模塊替換。
  • hotOnly:當(dāng)熱模塊替換失敗時(shí),不刷新頁面,避免頁面刷新導(dǎo)致的數(shù)據(jù)丟失或狀態(tài)重置。

4. 靜態(tài)資源服務(wù)

可以配置 devServer 來處理靜態(tài)資源服務(wù):

module.exports = {
  devServer: {
    contentBase: './public', // 靜態(tài)資源的目錄
    watchContentBase: true // 監(jiān)聽靜態(tài)資源目錄的變化
  }
};

解釋

  • contentBase:指定靜態(tài)資源的目錄,默認(rèn)為 public 目錄。
  • watchContentBase:設(shè)置為 true 時(shí),當(dāng)靜態(tài)資源目錄中的文件發(fā)生變化時(shí),開發(fā)服務(wù)器會重新加載。

5. 啟用 HTTPS

如果需要在開發(fā)環(huán)境中使用 HTTPS,可以配置 devServer 如下:

const fs = require('fs');
const path = require('path');

module.exports = {
  devServer: {
    https: {
      key: fs.readFileSync(path.join(__dirname, 'key.pem')), // 私鑰文件
      cert: fs.readFileSync(path.join(__dirname, 'cert.pem')) // 證書文件
    }
  }
};

解釋

  • https:使用 HTTPS 協(xié)議,需要提供私鑰和證書文件。

6. 配置多個(gè)代理

如果你需要將不同的請求代理到不同的后端服務(wù)器,可以使用多個(gè)代理配置:

module.exports = {
  devServer: {
    proxy: {
      '/api1': {
        target: 'http://localhost:3001',
        changeOrigin: true
      },
      '/api2': {
        target: 'http://localhost:3002',
        changeOrigin: true
      }
    }
  }
};

7. 其他配置

還可以配置其他 devServer 選項(xiàng),如 headers 用于設(shè)置響應(yīng)頭,compress 用于啟用 Gzip 壓縮:

module.exports = {
  devServer: {
    headers: {
      'Access-Control-Allow-Origin': '*' // 允許跨域請求
    },
    compress: true // 啟用 Gzip 壓縮
  }
};

心得:

vue.config.js 中的 devServer 配置項(xiàng)非常靈活,可以根據(jù)開發(fā)需求進(jìn)行各種定制。

以下是一個(gè)綜合的 vue.config.js 示例:

const fs = require('fs');
const path = require('path');

module.exports = {
  devServer: {
    port: 8080,
    open: true,
    overlay: {
      warnings: false,
      errors: true
    },
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    },
    hot: true,
    hotOnly: true,
    contentBase: './public',
    watchContentBase: true,
    https: {
      key: fs.readFileSync(path.join(__dirname, 'key.pem')),
      cert: fs.readFileSync(path.join(__dirname, 'cert.pem'))
    },
    headers: {
      'Access-Control-Allow-Origin': '*'
    },
    compress: true
  }
};

總結(jié)

以上就是 vue.config.jsdevServer 的常見配置,你可以根據(jù)項(xiàng)目的實(shí)際需求進(jìn)行選擇和修改,以滿足開發(fā)過程中的不同需求。

這些僅為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue 3 動態(tài) ref 的使用方式以表格為列

    Vue 3 動態(tài) ref 的使用方式以表格為列

    我正在開發(fā)的項(xiàng)目中,有一個(gè)表格組件,其中一列是分鏡描述,需要支持視頻上傳功能,下面給大家介紹Vue 3動態(tài)ref的使用方式以表格為列給大家詳細(xì)講解,感興趣的朋友一起看看吧
    2023-07-07
  • Vue+ElementUI之Tree的使用方法

    Vue+ElementUI之Tree的使用方法

    這篇文章主要為大家詳細(xì)介紹了Vue+ElementUI之Tree的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • 解決element ui el-row el-col里面高度不一致問題

    解決element ui el-row el-col里面高度不一致問題

    這篇文章主要介紹了解決element ui el-row el-col里面高度不一致問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Vue組件通信深入分析

    Vue組件通信深入分析

    對于vue來說,組件之間的消息傳遞是非常重要的,用vue可以是要組件復(fù)用的,而組件實(shí)例的作用域是相互獨(dú)立,這意味著不同組件之間的數(shù)據(jù)無法互相引用,一般來說,組件之間可以有幾種關(guān)系,下面是我對組件之間消息傳遞的常用方式的總結(jié)
    2022-08-08
  • 解決vue+router路由跳轉(zhuǎn)不起作用的一項(xiàng)原因

    解決vue+router路由跳轉(zhuǎn)不起作用的一項(xiàng)原因

    這篇文章主要介紹了解決vue+router路由跳轉(zhuǎn)不起作用的一項(xiàng)原因,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue中Npm run build 根據(jù)環(huán)境傳遞參數(shù)方法來打包不同域名

    vue中Npm run build 根據(jù)環(huán)境傳遞參數(shù)方法來打包不同域名

    這篇文章主要介紹了vue項(xiàng)目中Npm run build 根據(jù)環(huán)境傳遞參數(shù)方法來打包不同域名,使用npm run build --xxx,根據(jù)傳遞參數(shù)xxx來判定不同的環(huán)境,給出不同的域名配置,具體內(nèi)容詳情大家參考下本文
    2018-03-03
  • vue同一個(gè)瀏覽器登錄不同賬號數(shù)據(jù)覆蓋問題解決方案

    vue同一個(gè)瀏覽器登錄不同賬號數(shù)據(jù)覆蓋問題解決方案

    同一個(gè)瀏覽器登錄不同賬號session一致,這就導(dǎo)致后面登錄的用戶數(shù)據(jù)會把前面登錄的用戶數(shù)據(jù)覆蓋掉,這個(gè)問題很常見,當(dāng)前我這邊解決的就是同一個(gè)瀏覽器不同窗口只能登錄一個(gè)用戶,對vue同一個(gè)瀏覽器登錄不同賬號數(shù)據(jù)覆蓋問題解決方法感興趣的朋友一起看看吧
    2024-01-01
  • 微信小程序如何像vue一樣在動態(tài)綁定類名

    微信小程序如何像vue一樣在動態(tài)綁定類名

    這篇文章主要介紹了微信小程序如何像vue一樣在動態(tài)綁定類名,文中給大家提到了vue與微信小程序的區(qū)別,需要的朋友可以參考下
    2018-04-04
  • 深入探究Vue中三種不同的props用法

    深入探究Vue中三種不同的props用法

    Vue?的核心功能之一在于?props?的使用,props?是我們在?Vue?中從父組件到子組件傳遞數(shù)據(jù)的方式,但并非所有?props?都是一樣的,本文我們會深入學(xué)習(xí)這三種不同類型的?props,看看它們有何不同,以及何時(shí)使用它們,需要的朋友可以參考下
    2024-03-03
  • Vue中使用防抖與節(jié)流的方法

    Vue中使用防抖與節(jié)流的方法

    這篇文章主要為大家介紹了Vue中使用防抖與節(jié)流的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01

最新評論

宣武区| 承德市| 云林县| 杂多县| 长葛市| 孝昌县| 绩溪县| 岢岚县| 普宁市| 合肥市| 博客| 西峡县| 新沂市| 扬州市| 文登市| 佳木斯市| 应城市| 蒙阴县| 包头市| 宜阳县| 松溪县| 郎溪县| 金塔县| 营口市| 内黄县| 宝山区| 松潘县| 深泽县| 商丘市| 镇雄县| 利辛县| 江陵县| 扶风县| 双流县| 平安县| 江津市| 修武县| 常宁市| 宝山区| 太和县| 太湖县|