我按照环回文档来设置部署和环境特定的配置。 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中隐藏了什么吗?
请帮忙。
谢谢
一些可以提供帮助的建议:
- 配置 NODE_ENV="生产" 环境变量。我不确定,但环回将此值作为配置后缀。
- 尝试传递 env 变量以直接运行操作,因为它不能从控制台继承(检查这一点打印过程.env[$VARIABLE_NAME](
要将 env 变量传递给操作:
PRODUCTION=true DB_HOST="127.0.0.1" DB_USER="me" DB_PASSWORD="0000" nodemon app.js