8月 25, 2020 NodeJS
### 環境變數

使用過 NodeJS 有一段時間的朋友仔對環境變數應該都不會陌生,使用時只需要使用 `process.env` 物件就可以取得資料。

還可以通過使用 `delete` 來把變數刪除呢 !

```js
process.env.PRODUCTION = false;
console.log(process.env.PRODUCTION);
> false

delete process.env.PRODUCTION;
console.log(process.env.PRODUCTION);
> undefined
```

還是這樣來設定環境變數好像有點不切實際,變數都好像 hard code 在代碼中。

如有一個方法可以像 laravel 一樣載入 `.env` 檔案到變數就更加方便了。

### 使用 dotenv 套件

已經有大神想到這一點了呢 ! 通過使用 `dotenv` 套件就可以達成。

#### 安裝套件

```sh
$ npm install dotenv
```

#### 使用

建立 `.env` 檔案。記要住 `.env` 檔案不要加入到 git 內喔 ! 如果需要為 `.env` 記錄參數的變更,可以另外再加入一個 `.env.example` 來加入 git。

```text
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASS=password
DB_NAME=my_database
```

然後在程式的進入點 (app.js),載入套件。

```js
require('dotenv').config();

console.log(process.env["DB_HOST"]);
> localhost

console.log(process.env["DB_PORT"]);
> 3306

console.log(process.env["DB_USER"]);
> root

console.log(process.env["DB_PASS"]);
> password

console.log(process.env["DB_NAME"]);
> my_database
```

這樣就可以了 !
過去文章
2025 (9)
4 (5)
3 (1)
2 (3)
2024 (25)
11 (3)
10 (3)
9 (1)
3 (18)
2022 (6)
10 (1)
6 (2)
5 (1)
3 (1)
1 (1)
2021 (21)
11 (7)
7 (1)
6 (2)
5 (2)
4 (6)
3 (2)
2 (1)
2020 (92)
12 (1)
11 (2)
10 (4)
9 (10)
8 (5)
7 (1)
6 (3)
5 (1)
4 (4)
3 (25)
2 (7)
1 (29)
2019 (57)
12 (25)
11 (7)
9 (25)