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

一文搞明白vue開發(fā)者vite多環(huán)境配置

 更新時間:2023年06月06日 09:21:48   作者:香菜+  
Vue是一款流行的JavaScript框架,用于開發(fā)動態(tài)單頁應(yīng)用程序,本地安裝和環(huán)境配置是學(xué)習(xí)和使用Vue的第一步,下面這篇文章主要給大家介紹了關(guān)于vue開發(fā)者vite多環(huán)境配置的相關(guān)資料,需要的朋友可以參考下

在看項目的過程中,發(fā)現(xiàn)有類似服務(wù)端多環(huán)境配置的配置,所以研究了下,在網(wǎng)上有多個方案,選了一個當(dāng)前在用的吧,另外一個沒驗證

1、原理

對于使用Vite構(gòu)建的Vue項目,可以使用Vite提供的環(huán)境變量來實現(xiàn)多環(huán)境配置。

Vite 使用 dotenv 從 環(huán)境文件目錄 中加載環(huán)境文件,默認(rèn)情況下,環(huán)境文件目錄為項目的根目錄,即把環(huán)境文件放在項目根目錄下。

環(huán)境文件命名如下:

.env                # 所有情況下都會加載
.env.local          # 所有情況下都會加載,但會被 git 忽略
.env.[mode]         # 只在指定模式下加載
.env.[mode].local   # 只在指定模式下加載,但會被 git 忽略

不同環(huán)境的變量可以定義在 .env.[mode] 文件中,如 .env.dev、.env.prod 等,如果 .env 文件和 .env.[mode] 中有相同的 key,后者定義的值會覆蓋前者。

這里咱們以三個環(huán)境為例編寫 demo,分別是:

  • 開發(fā)環(huán)境,mode 為 dev,文件名為 .env.dev
  • 測試環(huán)境,mode 為 uat,文件名為 .env.uat
  • 生產(chǎn)環(huán)境,mode 為 prod,文件名為 .env.prod

2、創(chuàng)建配置文件 

使用 .env 文件來設(shè)置特定環(huán)境的變量。Vite 會自動加載 .env 文件,而且支持使用不同的 .env 文件來為不同的環(huán)境提供變量。

在項目根目錄下創(chuàng)建.env.dev、.env.test.env.prod等環(huán)境變量文件,并在其中定義各個環(huán)境的變量。例如:

NODE_ENV="development"
VITE_BASE_API="http://172.26.1.152:80"
VITE_BASE_WS="ws://172.26.1.152:18083"

注意,變量名必須以VITE_開頭,這是Vite默認(rèn)的前綴。

3、使用多環(huán)境配置

package.json中配置啟動腳本,使用配置

  "scripts": {
    "dev": "vite --mode dev",
    "test": "vite --mode test",
    "prod": "vite --mode prod",
    "build": "vue-tsc && vite build",
    "build:dev": "vue-tsc --noEmit && vite build --mode dev",
    "build:prod": "vue-tsc --noEmit && vite build --mode prod",
    "preview": "vite preview"
  },

4、使用環(huán)境變量

在Vue組件中使用環(huán)境變量:

<template>
  <div>
    <p>{{ apiURL }}</p>
  </div>
</template>
 
<script>
export default {
  data() {
    return {
      apiURL: import.meta.env.VITE_BASE_API
    }
  }
}
</script>

在Vue組件中可以通過import.meta.env.VITE_API_URL來訪問環(huán)境變量。

5、關(guān)于編輯器提示

可以添加 vite-env.d.ts解決。如果不存在這個文件,在 src 目錄下創(chuàng)建文件 vite-env.d.ts,我的項目下有,不記得是不是自己手動創(chuàng)建了

/// <reference types="vite/client" />
?
interface ImportMetaEnv {
  readonly VITE_BASE_API: string;
  readonly VITE_BASE_WS: string;
}?

6、最后驗證下

main.ts 打印下環(huán)境變量

客戶端訪問,打開控制臺可以看到環(huán)境變量,試著切換下看看生效了嗎

7、process.env和import.meta.env

process.env是Node.js中的全局變量,用于訪問進程中的環(huán)境變量。在前端開發(fā)中,我們通常使用Webpack等構(gòu)建工具來打包應(yīng)用程序,因此需要在構(gòu)建過程中設(shè)置環(huán)境變量。在Webpack中,可以使用DefinePlugin插件將環(huán)境變量注入到應(yīng)用程序中,然后在代碼中通過process.env來訪問這些變量。

例如,在Webpack中設(shè)置一個名為API_URL的環(huán)境變量,可以在代碼中通過process.env.API_URL來訪問它:

// webpack.config.js
module.exports = {
  plugins: [
    new webpack.DefinePlugin({
      'process.env.API_URL': JSON.stringify('https://api.example.com')
    })
  ]
}
 
// app.js
console.log(process.env.API_URL) // 'https://api.example.com'

import.meta.env是在ES模塊中定義的全局變量,用于訪問Vite構(gòu)建的應(yīng)用程序中的環(huán)境變量。在Vite中,可以在.env文件中定義環(huán)境變量,然后在Vue組件和JavaScript模塊中通過import.meta.env來訪問這些變量。

需要注意的是,process.envimport.meta.env的作用域不同,前者作用于整個Node.js進程,后者只作用于當(dāng)前的JavaScript模塊或Vue組件。因此,它們的用法和使用場景也有所不同。

總結(jié)

到此這篇關(guān)于vue開發(fā)者vite多環(huán)境配置的文章就介紹到這了,更多相關(guān)vue vite多環(huán)境配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Vue3?中的watchEffect?特性

    詳解Vue3?中的watchEffect?特性

    這篇文章主要介紹了Vue3?中的?watchEffect?特性詳解,watchEffect?是?Vue3?中非常有用的一個特性,它可以讓我們輕松地監(jiān)聽響應(yīng)式數(shù)據(jù)的變化,并在數(shù)據(jù)發(fā)生變化時執(zhí)行指定的回調(diào)函數(shù),從而簡化代碼并提高應(yīng)用的性能,需要的朋友可以參考下
    2023-04-04
  • vue.js內(nèi)置組件之keep-alive組件使用

    vue.js內(nèi)置組件之keep-alive組件使用

    keep-alive是Vue.js的一個內(nèi)置組件。這篇文章主要介紹了vue.js內(nèi)置組件之keep-alive組件使用,需要的朋友可以參考下
    2018-07-07
  • vue組件父與子通信詳解(一)

    vue組件父與子通信詳解(一)

    這篇文章主要為大家詳細(xì)介紹了vue組件父與子通信詳解,實現(xiàn)登錄窗口,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 詳解vue之自行實現(xiàn)派發(fā)與廣播(dispatch與broadcast)

    詳解vue之自行實現(xiàn)派發(fā)與廣播(dispatch與broadcast)

    這篇文章主要介紹了詳解vue之自行實現(xiàn)派發(fā)與廣播(dispatch與broadcast),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Vue的移動端多圖上傳插件vue-easy-uploader的示例代碼

    Vue的移動端多圖上傳插件vue-easy-uploader的示例代碼

    這篇文章主要介紹了Vue的移動端多圖上傳插件vue-easy-uploader的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 基于Vue3編寫一個打印模板設(shè)計器(print-canvas-designer)

    基于Vue3編寫一個打印模板設(shè)計器(print-canvas-designer)

    在業(yè)務(wù)系統(tǒng)里,標(biāo)簽打印存在一個常見弊端,它往往不是一次性的輸出功能,而是一套需要持續(xù)維護的編輯能力,本文將用 Vue3 做一個可擴展的打印模板設(shè)計器,感興趣的小伙伴可以了解下
    2026-05-05
  • vue組件三大核心概念圖文詳解

    vue組件三大核心概念圖文詳解

    本文主要介紹屬性、事件和插槽這三個vue基礎(chǔ)概念、使用方法及其容易被忽略的一些重要細(xì)節(jié),感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • vue文件上傳讀取文件數(shù)據(jù)進行格式校驗方式

    vue文件上傳讀取文件數(shù)據(jù)進行格式校驗方式

    該文章描述了使用Element-UI的`el-upload`組件實現(xiàn)文件上傳前的內(nèi)容校驗,通過`beforeUpload`鉤子讀取并解析文件內(nèi)容,校驗其格式和數(shù)據(jù)有效性,確保符合要求后才進行上傳,詳細(xì)介紹了校驗邏輯及上傳流程
    2026-05-05
  • vue2.0 兄弟組件(平級)通訊的實現(xiàn)代碼

    vue2.0 兄弟組件(平級)通訊的實現(xiàn)代碼

    這篇文章主要介紹了vue2.0 兄弟組件(平級)通訊的實現(xiàn)代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-01-01
  • vue3使用全局websocket的示例詳解

    vue3使用全局websocket的示例詳解

    這篇文章主要為大家詳細(xì)介紹了vue3使用全局websocket的相關(guān)知識,文中的示例代碼講解詳細(xì),對我們深入學(xué)習(xí)vue3有一定的幫助,感興趣的小伙伴可以參考一下
    2023-10-10

最新評論

迁西县| 东兴市| 伊川县| 扎囊县| 商都县| 全南县| 汉沽区| 婺源县| 寿宁县| 夹江县| 婺源县| 巴东县| 克东县| 大化| 靖边县| 镇原县| 龙南县| 乌鲁木齐县| 英吉沙县| 曲阳县| 郸城县| 清原| 鸡西市| 准格尔旗| 正安县| 伊宁县| 珲春市| 兴宁市| 鄯善县| 芷江| 开封县| 天峨县| 南澳县| 大安市| 太保市| 丘北县| 石渠县| 莱西市| 日照市| 曲沃县| 玛纳斯县|