NodeJS學習:環境變量

簡介

環境變量(environment variables) 不屬於 NodeJS 範疇,它是操做系統用於設定執行環境的參數。會在程序運行時傳遞給應用程序。
NodeJS 獲取環境變量,是經過 global 對象中的 process 進程對象獲取的。linux

process.env.env_name          //獲取對應環境變量的值

應用

環境變量在 NodeJS中的應用,經常使用於區分當前的環境是測試環境仍是正式環境shell

if(process.env.NODE_ENV === ‘dev’){
    //測試環境
}else{
    //正式環境
}

也能夠進一步的根據環境導出對應的參數配置(參數的導出徹底在配置文件內部本身判斷,本身消化)json

# config.js

var dev = {};
var build = {};

module.exports = process.env.NODE_ENV === ’dev' ? dev : build;

其次須要注意的是在package.json中直接爲腳本(scripts)設置環境變量:windows

{
    'run': "NODE_ENV = \" DEV \""
}

因爲 script中的命令會在命令行工具中進行執行,可是不一樣的命令行工具,其差別性很大,並且不一樣的系統,其shell工具差別更大,因此跨平臺的兼容性很是堪憂,基本上咱們並不會直接使用上面的方式,而是經過一個NPM插件來解決:cross-envbash

{
    'run': "cross-env NODE_ENV = \" DEV \""
}

cross-env 的做用就是能跨平臺地設置及使用環境變量。編輯器

最後,既然說到不一樣平臺其環境變量配置具備差別,這裏我就以經常使用的三個平臺爲例,來簡單的學習一下環境變量的配置工具

環境變量設置

Windows

永久:「我到電腦」 -> 「屬性」 -> 「高級系統設置」 -> 「環境變量」 : (修改後記得保存)
臨時:學習

set  #獲取全部的環境變量
set keyname #查詢指定的環境變量,eg:set PATH

set keyname=value #設置一個環境變量

echo %keyname% #在控制檯(CMD)中輸出一個環境變量,eg: echo %PATH%

Linux

永久:若是是系統級的環境變量請使用「vi編輯器」編輯 /etc/profile 文件,若是是用戶級別的環境變量,則進入到對應的用戶目錄修改 .profile 文件。
臨時:測試

set #查看全部環境變量
env #只查看用戶級別的環境變量

export keyname=value #設置一個環境變量

echo $keyname  #顯示指定環境變量的值,eg:echo $PATH

引用環境變量的格式:$keyname,所以若是想合併多個環境變量的值到一個指定的環境變量,能夠經過 : 隔開。ui

export a=1
export b=2
export c=$a:$1

Mac OS

永久:若是修改的是系統級別的,請修改 /etc/profile文件或者是 /etc/paths,若是是用戶級別的,則修改:~/.bash_profile | ~/.bash_login | ~/.profile | ~/.bashrc 等。
臨時:

export keyname=value  #增長環境變量

    echo $keyname  #輸出指定環境變量的值, eg:echo $path

引用一個環境變量,則附加 $符號

export PATH=~/user/name:$PATH
相關文章
相關標籤/搜索