国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

詳解nodejs 配置文件處理方案

2024-05-06 15:43:40
字體:
來源:轉載
供稿:網友

前言

一般來說:一個好的項目配置應該滿足以下條件:

    依賴環境:配置根據具體運行環境從相應的文件讀取 代碼分離:配置項不僅可以從配置文件讀取, 也可以從環境變量讀取,使得安全隱秘的配置項與代碼分離 易于使用:配置項應該是分層配置的,有助于查找條目和維護龐大的配置文件的,應該是容易組織和容易獲取的,比如json結構

在多人開發 nodejs 項目的時候,沒有規劃好配置方案,配置文件的問題就很容易暴露出來。

痛點

在開發 nodejs 的工程中,遇到過三個痛點

    部署環境不同: 開發、測試、生產環境的不同,導致配置的不同 開發環境不同: 開發者的開發環境配置不同,會存在同一個配置文件配置項不同,同一文件不同內容提交,容易引起 git 沖突,影響 git 提交更新 安全地配置: 一些配置不應該明文保存在項目代碼里面,比如數據庫密碼

解決方案

部署環境不同

對于部署環境不同,相對容易解決,建立相應環境的配置文件,比如:

    開發環境配置:developmentConfig.js 測試環境配置:testConfig.js 生產環境配置:productionConfig.js

再建一個config.js配置文件作為入口獲取配置,如下:

module.exports = require(`./${process.env.NODE_ENV}Config.js`)

引用配置的時候,只要引用 config.js 即可。

運行命令如下:

NODE_ENV=development node index.js

開發環境不同

對于開發環境不同,導致每個人的developmentConfig.js不同,這個不能要求別人的配置和你的一樣,這樣項目就太硬了。
我們可以把developmentConfig.js添加到.gitignore,從而從項目分離出來,再在readme.md說明如何配置developmentConfig.js。

最好是建立一個developmentConfig.example.js,并在文檔說明復制成developmentConfig.js后修改配置項符合自己的開發配置。

安全地配置
對于項目一些安全性要求高的配置項,我們應該從配置文件脫離出來,只能在當前的運行進程可以獲取, 配置文件的配置項再讀取進程的配置項值,比如數據庫密碼, 一般做法如下:
productionConfig.js

module.exports = {  database: {    user: process.env.user || 'root',    password: process.env.password || 'yfwzx2019'  }}

而更隱秘的辦法是,你根本不知道我用環境變量覆蓋了配置項值,比如:

productionConfig.js

module.exports = {  database: {    user: 'root',    password: 'yfwzx2019'  }}

一般人拿到了這個配置,就會以為數據庫的賬號密碼就是root、yfwzx2019,其實最后會被環境變量的值覆蓋,運行如下:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 许昌县| 泽普县| 澄江县| 罗城| 定兴县| 永平县| 金昌市| 武平县| 康马县| 文登市| 宣化县| 赤峰市| 阿拉尔市| 仙游县| 广德县| 丹凤县| 高阳县| 岳阳县| 中山市| 南丹县| 内丘县| 新疆| 吴江市| 新密市| 温州市| 咸丰县| 松桃| 霍城县| 分宜县| 叶城县| 镇江市| 来凤县| 化德县| 上栗县| 鸡西市| 巴南区| 冀州市| 吴江市| 高碑店市| 霸州市| 星子县|