![](/img/trans.png)
[英]How to protect rabbitmq passwords when using rascal config file on nodejs
[英]Config File in NodeJS using npm config
我有一個基於 Angular/NodeJS/Postgres+MongoDB 堆棧的雲端 SAAS 應用程序,可以連接到客戶數據庫、雲倉庫、S3 存儲桶等以加載信息。 從 Angular 前端獲取連接信息后,我需要存儲此信息以供將來檢索。
Example :
Angular Front-end
<form>
Database Type :
Host :
Port :
Username:
Password :
S3Bucket :
Region :
bucket-name :
Access key :
</form>
等等
我需要保存此信息以供以后訪問。 正如 Abdullah Deliogullari 在原始問題中所建議的那樣,我正在嘗試使用配置模塊npm config 。 但是我如何使用 package 配置來編寫配置文件並將其加載到正在運行的應用程序中。
即,當我的應用程序正在運行時,我需要將(比如 S3)存儲桶信息寫入 customer.config 文件(來自前端 JSON),稍后在需要檢索數據時使用 customer.config 連接到 S3 存儲桶。
我能夠理解的“獲取”部分,但我無法理解寫入部分(動態添加新部分)。
當我傳入如下值時來自前端的示例
["ct_postgres":
{"host":"3.15.xxx.xxx",
"port":"5132",
"dbname":"wcdb"
}]
這應該寫入配置文件。 所以我正在尋找類似 config.put/write 的東西。 下次我想連接到客戶 postgresdb 時,我會執行 config.get() 並為我提供連接詳細信息。
首先你應該安裝這個 package
npm install config
之后在您的項目目錄中創建配置文件(名稱“config”是必須的)。 在此文件中創建 development.json 和 production.json 文件(這些名稱是可選的)。 development.json的內容可能是這樣的
{
"SERVER" : {
"port" : 5000
},
"PASSWORDHASH" : {
"saltRounds" : 10
}
}
在你的 javascript 文件例如 app.js 文件中,首先你應該包含庫,然后你可以通過這個模塊獲取配置信息
const config = require('config');
const port = config.get("SERVER.port");
app.listen(port);
最后一步應該是將此 development.json 文件名添加到 NODE_ENV 變量
NODE_ENV=development node app.js
所以如果你想根據來自前端的新數據更新你的 json 文件,你基本上可以這樣做
var fs = require('fs');
var file_content = fs.readFileSync("development.json");
var content = JSON.parse(file_content);
content.SERVER.port = 6000;
fs.writeFileSync("development.json", JSON.stringify(content));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.