国产探花免费观看_亚洲丰满少妇自慰呻吟_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,其實最后會被環境變量的值覆蓋,運行如下:

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

圖片精選

主站蜘蛛池模板: 沂南县| 克什克腾旗| 京山县| 蛟河市| 益阳市| 宽甸| 万盛区| 广水市| 唐河县| 屏南县| 宜宾市| 贵州省| 渭源县| 虹口区| 江陵县| 云梦县| 宣城市| 滕州市| 恩平市| 沁阳市| 闽侯县| 静宁县| 黎城县| 资兴市| 手机| 郓城县| 文山县| 吴忠市| 石嘴山市| 诸城市| 鄂尔多斯市| 山西省| 宜州市| 吉林市| 行唐县| 屏东市| 义乌市| 阿克| 河源市| 石阡县| 扶余县|