環(huán)境變量

2020-04-28 10:18 更新

remax-cli 會在編譯時注入 NODE_ENV 以及所有 REMAX_APP_ 開頭的環(huán)境變量,你可以通過 process.env 來讀取這些環(huán)境變量。

注意,只有 REMAX_APP_ 開頭的環(huán)境變量才會被注入。

使用環(huán)境變量啟動構(gòu)建:

$ REMAX_APP_BASE_URL=https://example.com/api remax build -t alipay

Windows 用戶建議使用 cross-env 來設(shè)置環(huán)境變量:

$ cross-env REMAX_APP_BASE_URL=https://example.com/api remax build -t alipay

讀取環(huán)境變量:

function request(options) {
my.request({
url: process.env.REMAX_APP_BASE_URL + options.path,
success(res) {},
fail(e) {},
});
}

另外,我們會默認(rèn)注入 process.env.NODE_ENV 用來區(qū)分開發(fā)與生產(chǎn)環(huán)境,其默認(rèn)值為 development

if (process.env.NODE_ENV !== 'production') {
enableMock();
}

使用 .env 文件管理環(huán)境變量

為了方便管理環(huán)境變量,remax-cli 內(nèi)置了 dotenv,你可以通過在項目根目錄下創(chuàng)建 .env 文件方便地定義環(huán)境變量:

REMAX_APP_BASE_URL=https://example.com/api

修改環(huán)境變量需要重新構(gòu)建才能生效

除此之外,你還可以為不同環(huán)境指定 .env 文件:

  • .env: 默認(rèn)讀取
  • .env.local:除了 NODE_ENV=test 時讀取
  • .env.development.env.test,.env.production:會根據(jù) NODE_ENV 來讀取
  • .env.development.local.env.test.local, .env.production.local 在本地覆蓋特點環(huán)境的變量

我們建議把除了 .local 以外的 env 文件都加入 git 倉庫。

以上文件的優(yōu)先級,從左到右的優(yōu)先級從高到低:

  • NODE_ENV=development.env.development.local.env.development,.env.local,.env
  • NODE_ENV=production.env.production.local,.env.production,.env.local,.env
  • NODE_ENV=test.env.test.local,.env.test,.env

在 .env 里引用環(huán)境變量

.env 里定義的環(huán)境變量支持引用:

DOMAIN=www.example.com
REMAX_APP_API=$DOMAIN/api

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號