我已经使用React和node在heroku上部署了一个项目,为此我导入了一个包含各种API密钥(用于firebase、AWS等)的json文件。在开发过程中,我只是简单地使用import keys from './keys.json'。然而,我意识到这在Heroku中是行不通的,所以我设置了适当的环境变量并使用process.env来获取它们。不过现在..。我的项目的整个编译/构建都失败了,因为Heroku找不到keys.json (因为我没有部署它,原因很明显)。有没有办法让它在构建过程中忽略这个特定的失败,这样它就可以继续使用env变量?
发布于 2018-01-25 11:55:28
将导入包装在一个条件中:
var keys = {}
if (!process.env['AWS_KEY']) {
keys = require('./keys.json')['keys'];
}这样做的副作用是使环境变量优先于本地文件。如果您希望该文件具有优先级,请将fs.existsSync作为您的条件(fs.exists可以与某些工作一起使用)。
https://stackoverflow.com/questions/48435157
复制相似问题