Cài đặt biến môi trường .env cho node app & digital ocean



  • Chào mọi người,

    Mình đang tìm hiểu về biến môi trường để setup cho app viết bằng MERN Stack, đã deploy lên Digital Ocean ( server Ubuntu 18.04 ). Hiện tại mình có vài thắc mắc sau đây, mong mọi người nếu được hỗ trợ giúp mình:

    1. Mình có tìm hiểu thì dùng package dotenv, tạo ra 1 file .env và khai báo tất cả những thông tin mật trong đó, sau đó mình sẽ check ở môi trường nào thì dùng URL của môi trường đó ( như hình ), nhưng vấn đề là làm sao để nó hiểu được khi nào thì ở development và khi nào thì ở production ? Mình setup trong nodejs hay setup trên Digital Ocean và setup như thế nào ?
      Screenshot_1.png

    2. View mình viết bằng Reactjs, gọi API từ nodejs. Vậy mình sẽ setup trong React như thế nào để khi ở development thì nó sẽ hiểu API sẽ có dạng locahost:... và khi ở production thì nó sẽ thay bằng domain. Ý mình là viết sao cho nó tự động, chứ nếu làm kiểu như này thì hơi nông dân quá: ( const apiURL = process.env.DB_LOCALHOST || process.env.domain_URL , khi lên production thì vào xóa thằng Localhost đi, kiểu vậy :))) ).

    Mình cảm ơn rất nhiều.



  • Thì trong file .env cho thêm dòng code STAGE vào là đươc:

    STAGE=development



  • @Trường-Sa rồi khi deloy thì phải vào file đó đổi STAGE = production à bạn, có cách nào hay hơn không nhỉ ? Để nó tự hiểu được ấy.


Log in to reply