需要在package.json中使用密码

时间:2018-01-14 14:45:01

标签: npm

在本地工作时,我在package.json中使用npm命令启动我的应用程序。问题是我需要这个命令来包含远程数据库的密码:

"scripts": {
        "start":
            "MONGO_URL='mongodb://USERNAME:PASSWORD@URL:PORT/DB-NAME' meteor --settings settings.json"
    },

这是有效的,但我不想将密码保存到源代码管理中。如何在不提交密码的情况下运行相同的命令?

1 个答案:

答案 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

运行捆绑的应用