【问题标题】:Loopback - Setting Up environment specific configurationLoopback - 设置环境特定的配置
【发布时间】:2017-12-08 15:56:14
【问题描述】:

您好,我可以在设置环境特定配置方面获得一些帮助吗? 我有两个数据源文件

  1. 服务器/datasources.json
  2. 服务器/datasources.test.json

我在 WIndows 上使用脚本“SET NODE_ENV=test && mocha test/**/*.test.js”来运行我的测试用例并设置节点环境进行测试。 Loopback 不加载 server/datasource.test.json 而是加载来自 server/datasource.json 的数据源。

我已经使用 process.env.NODE_ENV 确认了环境,它记录了“test”

我尝试将 server/datasource.json 更改为 server/datasource.local.json,但随后出现错误 警告:主配置文件“datasources.json”丢失。

我不明白我做错了什么。我应该为测试环境创建所有配置文件,如 *.test.json。 或者是否有一个不同的配置文件,我必须在其中定义特定于环境的文件。

请检查此回购https://github.com/dhruv004/sample-loopback-example 从代码中如果你运行npm run test它从local.json加载数据,这是开发环境的数据源。它应该从test.json(测试环境的数据源)加载数据

【问题讨论】:

  • 看起来不错。确认一下,文件名是server/datasource.test.json还是server/datasources.test.json
  • 它是datasources.test.json。同样不适用于配置。
  • 我可以做到的一种方法是在我的server/datasources.json 中添加一个新密钥"testDb": { "name": "db", "connector": "memory", "file":"test.json" },然后在model-config.json 中更改模型的数据源

标签: loopbackjs loopback


【解决方案1】:

查看您的repository,我可以看到来自LoopBack documentation 的这条注释与您特别相关:

一个 LoopBack 应用程序可以加载多个配置文件,这些配置文件可能会相互冲突。具有最高优先级的文件设置的值将始终生效。优先事项是:

  1. 环境特定配置,基于NODE_ENV的值;例如,server/config.staging.json
  2. 本地配置文件;例如,server/config.local.json
  3. 默认配置文件;例如,server/config.json

在您的model-config.json 中,所有模型的数据源都设置为db,因此在您的情况下,LoopBack 应用程序首先加载datasources.test.json。它在那里找不到数据源db(只有testdb),所以它回退到datasources.json。它在那里找到数据源db 并使用它。尝试将datasources.test.json 中的testdb 重命名为db,它会优先考虑。

【讨论】:

  • 感谢您将此通知我,但是我尝试将 datasources.test.json 中的 testdb 重命名为 db。但它仍然引用原始 datasources.json。我应该推送最新代码供您参考?
  • 在你的 npm 测试脚本中,删除&& 之前的一个空格导致SET NODE_ENV=test&& mocha test/**/*.test.js,否则你最终会得到'test'环境(注意后面的空格)。
  • 这解决了我的问题。比你好多了..我很傻
  • 不客气。另一种方法是双引号"test": "SET \"NODE_ENV=test\" && mocha test/**/*.test.js"。请考虑为您的问题提供足够的信息(来自相关配置文件的代码 sn-ps),因此即使链接不再可访问,此 Q/A 也有价值。
  • @IvanSchwarz 那条评论真的帮了我。谢谢。请在您的回答者中添加该评论
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-16
  • 2014-04-25
  • 2012-09-17
  • 2018-01-20
  • 1970-01-01
  • 1970-01-01
  • 2014-09-07
相关资源
最近更新 更多