简单地说,我应该如何在lp4应用程序上实现开发和prod之间的切换。
我添加了我的数据源,一切都很好,但它是一个.json文件。如何切换到保存在可以通过dotenv包读取的.env文件中的另一个配置。
我尝试过手动创建数据源对象,但是我得到了错误,所以我的方法很可能是错误的。如有任何建议,将不胜感激。
发布于 2019-03-22 18:12:12
LoopBack团队的大家好
LoopBack不支持开箱即用的dotenv。
如果希望将特定于环境的配置保存在文件中,则应该将生产配置放置为server/datasources.production.json,然后将环境变量NODE_ENV设置为production。LoopBack正在启动时读取server/datasources.${NODE_ENV}.json,并在server/datasources.json中指定的默认配置之上应用该文件的任何重写。
尽管如此,我们认为最好使用https://12factor.net并通过环境变量提供生产配置。我想这也是你想要达到的?
也许您正在寻找一种如何配置来自环境变量的数据源的方法?LoopBack支持某些配置文件中的变量替换,datasources.json是支持的文件之一。例如:
{
"db": {
"connector": "mysql",
"database": "${MYSQL_DB}",
"username": "${MYSQL_USER},
"password": "${MYSQL_PASSWORD}"
}特别是在数据源方面,我们建议采用一种稍微不同的方法:
server/datasources.json文件中使用host、database、username等数据源配置选项指定的。url属性设置为环境提供的值。url属性覆盖所有其他设置,但当它不存在时将被忽略。数据源配置示例:
{
"db": {
"connector": "mysql",
"database": "demo",
"username": "demo",
"password": "L00pBack"
"url": "${MYSQL_URL}"
}在生产中运行时,可以按以下方式设置连接字符串:
export MYSQL_URL=mysql://prod:strong-password@localhost/realdb请参考我们以前的博客文章https://strongloop.com/strongblog/managing-loopback-configurations-the-twelve-factor-way/来了解更多的细节。
https://stackoverflow.com/questions/55266175
复制相似问题