在本地工作时,我在package.json中使用npm命令启动我的应用程序。问题是我需要这个命令来包含远程数据库的密码:
"scripts": {
"start":
"MONGO_URL='mongodb://USERNAME:PASSWORD@URL:PORT/DB-NAME' meteor --settings settings.json"
},
这是有效的,但我不想将密码保存到源代码管理中。如何在不提交密码的情况下运行相同的命令?
答案 0 :(得分:0)
你可以在启动时设置environement变量programmaticaly并将秘密存储在settings.json
文件中(适用于存储机密,不应该在版本控制中 - see here)
在startup/server/index.js
文件中:
let mongoPassword = Meteor.settings.private.mongoPassword;
process.env.MONGO_URL = "mongodb://USERNAME:" + mongoPassword + "@URL:PORT/DB-NAME";
您还可以选择使用meteor
命令启动应用,并将MONGO_URL
环境变量存储在本地开发环境中
在制作中,您不应该使用meteor
命令,而是使用meteor build
构建,然后使用node main.js