环回 - 设置特定于环境的配置

Loopback - Setting Up environment specific configuration

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

  1. server/datasources.json
  2. server/datasources.test.json

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

我已经使用记录“test

的process.env.NODE_ENV确认了环境

我曾尝试将 server/datasource.json 更改为 server/datasource.local.json,但随后出现错误 警告:缺少主配置文件 "datasources.json"。

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

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

查看您的 repository, I can see this note from 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,这将成为一个先例。