如何在环回js中设置和映射环境数据?



我按照环回文档来设置部署和环境特定的配置。 https://loopback.io/doc/en/lb3/Environment-specific-configuration.html

有一个地方我需要获取数据源连接器,因为我已经在应用程序中配置并访问了整个数据源。 它工作正常。

module.exports.DataSources = app.dataSources.hmsDs.connector;

但是在配置以在生产中部署应用程序之后,如文档所述。我收到错误。

module.exports.DataSources = app.dataSources.applianceDs.connector;
^
TypeError: Cannot read property 'connector' of undefined

数据源.生产.js

module.exports = {
applianceDs: {
hostname: process.env.DB_HOST,
port: process.env.DB_PORT || 27017,
database: 'applianceDB',
user: process.env.DB_USER || "",
password: process.env.DB_PASSWORD || "",
name: "applianceDs",
connector: 'mongodb',
}
}

当我尝试按如下方式访问数据源时,

var { applianceDs }= require('../datasource.production');
module.exports.DataSources = applianceDs.connector;

然后得到这样的错误。

AssertionError [ERR_ASSERTION]: User is referencing a dataSource that does not exist: "applianceDs"

我在终端遵循的步骤

$ 出口生产=真

$ 导出 DB_HOST="127.0.0.1"

$ 导出 DB_USER="我"

$ 导出 DB_PASSWORD="0000"

$ 节点应用程序.js

我错过了哪一步?环回js中隐藏了什么吗?

请帮忙。

谢谢

一些可以提供帮助的建议:

  1. 配置 NODE_ENV="生产" 环境变量。我不确定,但环回将此值作为配置后缀。
  2. 尝试传递 env 变量以直接运行操作,因为它不能从控制台继承(检查这一点打印过程.env[$VARIABLE_NAME](

要将 env 变量传递给操作:

PRODUCTION=true DB_HOST="127.0.0.1" DB_USER="me" DB_PASSWORD="0000" nodemon app.js

最新更新