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

VueCLI通過(guò)process.env配置環(huán)境變量的實(shí)現(xiàn)

 更新時(shí)間:2023年07月20日 15:29:39   作者:前端魔法師  
本文主要介紹了VueCLI通過(guò)process.env配置環(huán)境變量的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

  • 我們?cè)谧鰒ue或者react單頁(yè)應(yīng)用的時(shí)候,會(huì)發(fā)現(xiàn)配置文件里有procsss.env字段
  • 依靠環(huán)境變量,標(biāo)記服務(wù)器,這樣就可以根據(jù)不同的環(huán)境,配置不同環(huán)境下我們所需要的東西。

例如:后端接口的域名。

理解node環(huán)境變量process.env

首先,我們需要理解node中的processprocess.env是什么,點(diǎn)擊此處進(jìn)入Node.js中文網(wǎng)進(jìn)行查看

在文件夾中新建process.js文件,進(jìn)行操作,理解process.env

process(進(jìn)程)

process 對(duì)象是一個(gè)全局變量,提供了有關(guān)當(dāng)前 Node.js 進(jìn)程的信息并對(duì)其進(jìn)行控制。 作為全局變量,它始終可供 Node.js 應(yīng)用程序使用,無(wú)需使用 require()。它也可以使用 require() 顯式地訪問(wèn)const process = require('process')

process.js文件中console.log(process),并在終端中執(zhí)行node process.js可以打印出如下信息

信息過(guò)于繁瑣,就不在此處全部展示,讀者可以自行獲取該數(shù)據(jù)。如上就可以看到 process是node的全局變量,并且process有env這個(gè)屬性。

process.env(環(huán)境變量)

process.js文件中console.log(process.env)

process.env屬性會(huì)返回包含用戶環(huán)境的對(duì)象。通俗來(lái)講,該屬性可以返回項(xiàng)目運(yùn)行環(huán)境的信息。

此對(duì)象的示例如下所示:

{
  TERM: 'xterm-256color',
  SHELL: '/usr/local/bin/bash',
  USER: 'nodejscn',
  PATH: '~/.bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin',
  PWD: '/Users/nodejscn',
  EDITOR: 'vim',
  SHLVL: '1',
  HOME: '/Users/nodejscn',
  LOGNAME: 'nodejscn',
  _: '/usr/local/bin/node'
}

可以修改此對(duì)象,但這些修改不會(huì)反映到 Node.js 進(jìn)程之外,或者(除非明確地要求)反映到其他 Worker 線程。 換句話說(shuō),以下示例不會(huì)起作用:

$ node -e 'process.env.foo = "bar"' && echo $foo

以下示例則會(huì)起作用:

process.env.foo = 'bar';
console.log(process.env.foo);

在 process.env 上為屬性賦值會(huì)隱式地將值轉(zhuǎn)換為字符串。 不推薦使用此行為。 當(dāng)值不是字符串、數(shù)字或布爾值時(shí),Node.js 未來(lái)的版本可能會(huì)拋出錯(cuò)誤。

process.env.test = null;
console.log(process.env.test);
// => 'null'
process.env.test = undefined;
console.log(process.env.test);
// => 'undefined'

使用delete 可以從 process.env 中刪除屬性。

process.env.TEST = 1;
delete process.env.TEST;
console.log(process.env.TEST);
// => undefined

在 Windows 操作系統(tǒng)上,環(huán)境變量不區(qū)分大小寫(xiě)。

process.env.TEST = 1;
console.log(process.env.test);
// => 1

除非在創(chuàng)建 Worker 實(shí)例時(shí)顯式地指定,否則每個(gè) Worker 線程都有自己的 process.env 副本(基于其父線程的 process.env,或者指定為 Worker 構(gòu)造函數(shù)的 env 選項(xiàng)的任何內(nèi)容)。 對(duì)于 process.env 的更改在 Worker 線程中是不可見(jiàn)的,并且只有主線程可以做出對(duì)操作系統(tǒng)或原生插件可見(jiàn)的更改。

VueCLI中環(huán)境變量和模式

點(diǎn)擊進(jìn)入Vue CLI 官方文檔中進(jìn)行查看

模式是 Vue CLI 項(xiàng)目中一個(gè)重要的概念。默認(rèn)情況下,一個(gè) Vue CLI 項(xiàng)目有三個(gè)模式

1. development 模式用于 vue-cli-service serve
2. production 模式用于 vue-cli-service build 和 vue-cli-service test:e2e
3. test 模式用于 vue-cli-service test:unit

你可以通過(guò)傳遞 --mode 選項(xiàng)參數(shù)為命令行覆寫(xiě)默認(rèn)的模式

"dev-build": "vue-cli-service build --mode development",

不同的模式會(huì)有不同的環(huán)境變量NODE_ENV

在 development 模式下 NODE_ENV 的值會(huì)被設(shè)置為 "development"
在 development 模式下 NODE_ENV 的值會(huì)被設(shè)置為 "production"

在根目錄下新建下列文件可以設(shè)置環(huán)境變量

.env                # 在所有的環(huán)境中被載入
.env.local          # 在所有的環(huán)境中被載入,但會(huì)被 git 忽略
.env.[mode]         # 只在指定的模式中被載入
.env.[mode].local   # 只在指定的模式中被載入,但會(huì)被 git 忽略
你可以通過(guò)為 .env 文件增加后綴來(lái)設(shè)置某個(gè)模式下特有的環(huán)境變量。
比如,如果你在項(xiàng)目根目錄創(chuàng)建一個(gè)名為 .env.development 的文件,
那么在這個(gè)文件里聲明過(guò)的變量就只會(huì)在 development 模式下被載入。

環(huán)境加載屬性 特定環(huán)境文件高于一般環(huán)境文件的優(yōu)先級(jí)

為一個(gè)特定模式準(zhǔn)備的環(huán)境文件 (例如 .env.production) 將會(huì)比一般的環(huán)境文件 (例如 .env) 擁有更高的優(yōu)先級(jí)。
此外,Vue CLI 啟動(dòng)時(shí)已經(jīng)存在的環(huán)境變量擁有最高優(yōu)先級(jí),并不會(huì)被 .env 文件覆寫(xiě)。

環(huán)境文件 內(nèi)容書(shū)寫(xiě) 一個(gè)環(huán)境文件只包含環(huán)境變量的“鍵=值”對(duì):

FOO=bar
VUE_APP_SECRET=secret

環(huán)境文件 配置變量

只有以VUE_APP_開(kāi)頭的變量會(huì)被 webpack.DefinePlugin 靜態(tài)嵌入到客戶端側(cè)的包中。你可以在應(yīng)用的代碼中這樣訪問(wèn)它們:

console.log(process.env.VUE_APP_SECRET)

因此我們添加變量的時(shí)候都以VUE_APP_*這樣的形式

VUE_APP_BASE_URL = 'http://xxx.com/web/'
VUE_APP_WSR_URL = 'ws://xxx.com/web/'

除此之外,還有兩個(gè)特殊的變量

NODE_ENV - 會(huì)是 "development"、"production" 或 "test"中的一個(gè)。具體的值取決于應(yīng)用運(yùn)行的模式。可以自行修改

NODE_ENV="可以進(jìn)行修改"  

BASE_URL - 會(huì)和 vue.config.js中的publicPath選項(xiàng)相符,即你的應(yīng)用會(huì)部署到的基礎(chǔ)路徑。

實(shí)戰(zhàn)

vue cli 新建項(xiàng)目

創(chuàng)建 .env .env.development .env.production 文件

配置環(huán)境變量

.env

VUE_APP_BASE_URL = '.env 下的接口地址'

.env.development

VUE_APP_BASE_URL = '.env.development 下的接口地址'

.env.production

VUE_APP_BASE_URL = '.env.production 下的接口地址'

在App.vue文件中查看環(huán)境變量

console.log(process.env)
console.log('接口地址',process.env.VUE_APP_BASE_URL)

開(kāi)發(fā)環(huán)境

npm run serve

.env 環(huán)境變量被覆蓋 當(dāng)前獲取到的是.env.development開(kāi)發(fā)環(huán)境接口地址

生產(chǎn)環(huán)境

npm run build打包之后,在本地服務(wù)器上運(yùn)行

.env 環(huán)境變量被覆蓋 當(dāng)前獲取到的是.env.production開(kāi)發(fā)環(huán)境接口地址

打開(kāi)本地服務(wù)器

安裝http-server

npm install install -g http-server

npm有時(shí)候很慢,可換cnpm(安裝)較快,或者npm配置為淘寶鏡像

# 配置npm的registry地址
npm config set registry https://registry.npm.taobao.org

開(kāi)啟http-server本地服務(wù)

#在項(xiàng)目根目錄下運(yùn)行如下命令,且前提你已經(jīng)進(jìn)行npm run build打包dist文件
http-server ./dist

 到此這篇關(guān)于VueCLI通過(guò)process.env配置環(huán)境變量的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)VueCLI process.env配置環(huán)境變量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue mixins合并策略以及應(yīng)用場(chǎng)景分析

    vue mixins合并策略以及應(yīng)用場(chǎng)景分析

    這篇文章主要介紹了vue mixins合并策略以及應(yīng)用場(chǎng)景,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 詳解Vue3頁(yè)面如何自適應(yīng)表格滾動(dòng)高度

    詳解Vue3頁(yè)面如何自適應(yīng)表格滾動(dòng)高度

    這篇文章主要為大家詳細(xì)介紹了Vue3頁(yè)面如何自適應(yīng)表格滾動(dòng)高度,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • vue.js異步上傳文件前后端實(shí)現(xiàn)代碼

    vue.js異步上傳文件前后端實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了vue.js異步上傳文件前后端的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 詳解如何使用vue-cli腳手架搭建Vue.js項(xiàng)目

    詳解如何使用vue-cli腳手架搭建Vue.js項(xiàng)目

    這篇文章主要介紹了詳解如何使用vue-cli腳手架搭建Vue.js項(xiàng)目 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • 前端項(xiàng)目常用的三個(gè)Skills總結(jié)(Vue、React與UI核心Skills)

    前端項(xiàng)目常用的三個(gè)Skills總結(jié)(Vue、React與UI核心Skills)

    最近一種新概念在前端社區(qū)中受到關(guān)注,Skills這個(gè)概念很快被React和Vue社區(qū)接受,并引發(fā)了關(guān)于AI編程方式的新思考,這篇文章主要介紹了前端項(xiàng)目常用的三個(gè)Skills的相關(guān)資料,分別是Vue、React與UI核心Skills,需要的朋友可以參考下
    2026-05-05
  • 基于Vue技術(shù)實(shí)現(xiàn)遞歸組件的方法

    基于Vue技術(shù)實(shí)現(xiàn)遞歸組件的方法

    這篇文章主要為大家詳細(xì)介紹了基于Vue技術(shù)實(shí)現(xiàn)遞歸組件的方法 ,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue中el-table和jsplumb實(shí)現(xiàn)連線功能

    vue中el-table和jsplumb實(shí)現(xiàn)連線功能

    本文主要介紹了el-table和jsplumb實(shí)現(xiàn)連線功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 基于vue-seamless-scroll實(shí)現(xiàn)無(wú)縫滾動(dòng)效果

    基于vue-seamless-scroll實(shí)現(xiàn)無(wú)縫滾動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了基于vue-seamless-scroll實(shí)現(xiàn)無(wú)縫滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue+echarts實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)更新

    vue+echarts實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)更新

    這篇文章主要為大家詳細(xì)介紹了vue+echarts實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)更新,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 基于vue中的scoped坑點(diǎn)解說(shuō)

    基于vue中的scoped坑點(diǎn)解說(shuō)

    這篇文章主要介紹了基于vue中的scoped坑點(diǎn)解說(shuō),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09

最新評(píng)論

云南省| 积石山| 屏边| 日土县| 渑池县| 尚志市| 临武县| 会同县| 和龙市| 灵川县| 广西| 乐亭县| 桃源县| 勃利县| 鸡东县| 高碑店市| 逊克县| 慈利县| 延川县| 海晏县| 宁国市| 库尔勒市| 西林县| 漾濞| 肃宁县| 林口县| 卢湾区| 肥城市| 临武县| 定州市| 盘山县| 安溪县| 隆昌县| 尼勒克县| 定远县| 漳浦县| 新巴尔虎右旗| 怀远县| 北海市| 丰县| 静乐县|