【发布时间】:2020-06-10 13:01:52
【问题描述】:
这是我的package.json 文件的摘录:
"scripts": {
"start": "cross-env NODE_ENV=prod npx ./bin/www",
"migrate": "node-pg-migrate",
"migrate_dev": "DATABASE_URL=postgres://username:password@localhost:5432/dev_db NODE_ENV=dev node-pg-migrate",
},
我将我的.env 文件排除在.gitignore 中,以确保我的秘密不会泄漏到git 存储库中。我想知道的是,处理username:password 部分migrate_dev 脚本的最佳方法是什么?
(我已经查看了this,但我很确定我不能使用.js 文件作为package.json 的替代品。)
我尝试将环境变量分配给环境变量,例如
"scripts": {
...
"migrate_dev": "DATABASE_URL=DEV_DB_URL NODE_ENV=dev node-pg-migrate",
...
},
但是,遗憾的是,此时尚未定义它们 - #bootstraps! ;-)
【问题讨论】:
-
您所指的秘密都在您的
.env文件中,对吧? -
您可以使用现有的 shell 工具来处理这个问题。考虑让 package.json 触发一个外部脚本,而不是尝试将其全部嵌入脚本块中。
标签: reactjs git postgresql environment-variables package.json