Thực thi một backend sử dụng Express, Mongoose ODM, và Jest (phần 22)

Sử dụng dotenv cho thiết lập các biến môi trường

Một cách thức tốt để load các biến môi trường là sử dụng dotenv, cái load các biến môi trường từ các .env files vào
process.env của chúng ta. Cái này làm nó dễ để định nghĩa các biến môi trường cho phát triển địa phương trong khi
giữ nó có thể để thiết lập chúng khác nhau trong, ví dụ, một môi trường test. Đi theo các bước này để thiết lập
dotenv:
1. Cài đặt dotenv dependency:

$ npm install dotenv@16.3.1

2. Biên tập src/index.js, nhập khẩu dotenv ở đó, và gọi dotenv.config() để khởi tạo các biến môi trường. Chúng
ta nên làm cái này trước khi chúng ta gọi bất cứ code nào khác trong app của chúng ta:

import dotenv from ‘dotenv’
dotenv.config()

3. Bây giờ chúng ta có thể bắt đầu thay thế các biến tĩnh của chúng ta với các biến môi trường. Biên tập src/index.js
và thay thế cổng tĩnh 3000 với process.env.PORT:

const PORT = process.env.PORT

4. Chúng ta đã du nhập xong hàm initDatabase để sử dụng process.env.DATABASE_URL trước đây khi chúng ta thiết lập
Jest. Bây giờ, chúng ta có thể biên tập src/index.js và nhập khẩu initDatabase ở đó:

import { initDatabase } from ‘./db/init.js’

5. Điều chỉnh code hiện tại để trước tiên gọi initDatabase, và chỉ khi CSDL được khởi tạo, khởi động Express app.
Chúng ta bây giờ có thể xử lí các lỗi trong khi kết nối tới CSDL bằng cách thêm một khối try/catch:

try {

await initDatabase()
const PORT = process.env.PORT
app.listen(PORT)
console.info(`express server running on http://

localhost:${PORT}`)
} catch (err) {

console.error(‘error connecting to database:’, err)

}

Chia sẻ