config.json
和config.js
之间有什么区别?我必须同时使用它们吗?我什么时候需要使用其中一个? (https://docs.strongloop.com/display/public/LB/Environment-specific+configuration#Environment-specificconfiguration-Example)
什么是global-config.js
?它存在于Loopback示例应用程序(https://github.com/strongloop/loopback-example-offline-sync/blob/master/global-config.js)中,但在文档(https://docs.strongloop.com/dosearchsite.action?queryString=%22global-config.js%22)中没有任何关于它的信息。为什么他们为应用配置发明了第三层?
如何在运行时查看完整配置?它有这样的代码吗?
console.log(app.getFullConfig())
答案 0 :(得分:2)
逐一回答:
config.json
和config.js
之间的差异config.json
用于指定服务器配置,例如host
,port
等。{{1如果需要,用于覆盖这些配置。例如。
如果您想根据国家/地区更改端口号,则可以在config.js
中覆盖此页面,您可以在其中查看正在访问环回应用的国家/地区,并根据更改端口号这一点。
config.js
会在global-config.js
个文件夹之外。即它可以被许多 loopback app 的server/
文件夹使用。因此,名称 - server/
。
LoopBack是在Express之上制作的。因此,您可以在启动应用程序时使用此选项。
global-config.js
答案 1 :(得分:2)
知道loopback可以使用多个配置文件很有用
不同的环境。所以你可能有config.json
也许是开发和生产的config.production.json
使用production.json
配置关闭API资源管理器。
Loopback非常聪明,可以查看您的环境变量
找出使用哪一个。
除此之外,您可以使用.js配置文件作为进一步覆盖,正如您所期望的那样允许运行一些实际代码。对于
实例我有一个datasources.json
与我的本地数据库
连接信息和datasources.production.js
文件
看起来有点像这样:
var dbhost = process.env.DB_HOST,
dbname = process.env.DB_NAME,
dbusername = dbname,
dbpassword = process.env.DB_PASSWORD;
module.exports = {
"db": {
"host": dbhost,
"port": 5432,
"database": dbname,
"username": dbusername,
"password": dbpassword,
"name": "db",
"connector": "postgresql"
}
}
正如您所看到的,我能够使用环境变量来存储数据库 连接细节,我不希望存储在文件中(因为 我正在使用公共github repo。)
global-config.js
特定于您已关联的项目
至。它是一个通用的Javascript应用程序,所以
作者正在使用此文件在服务器之间共享配置
和客户端代码。您可以通过searching the repo
for 'global-config'了解他如何使用它 - 它是您可能的另一个好例子
但是,使用.js配置文件,因为当应用程序在本地运行时,config.local.js
使用代码访问global-config.js
中的配置以覆盖config.json
。