config.json与config.js | 什么是global-config.js | 在环回应用程序中查看服务器configuration?
-
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 )。 为什么他们发明了第三层应用程序configuration? -
如何在运行时看到完整的configuration? 它有这样的代码吗?
console.log(app.getFullConfig())
一一回答:
-
config.json
和config.js
之间的区别是config.json
用于指定服务器configuration,如host
,port
等。而config.js
用于覆盖这些configuration,如果需要的话。 例如。如果您想要根据国家更改端口号,则可以在
config.js
中覆盖此处,您可以从哪个国家/地区看到回送应用正在访问,并根据此更改端口号。 -
global-config.js
在server/
文件夹之外回收。 即它可以被许多回送应用程序的server/
文件夹使用。 因此,这个名字 –global-config.js
。 -
LoopBack是在Express的基础上制作的。 因此,您可以在启动应用程序时使用此选项。
DEBUG=express:application node .
-
了解loopback可以在不同的环境中使用多个configuration文件是有用的。 所以你可能有
config.json
进行开发,config.production.json
进行生产,也许在production.json
configurationclosuresAPI浏览器。 Loopback很聪明,可以查看你的环境variables来确定使用哪一个。除此之外,您可以使用.jsconfiguration文件作为进一步的覆盖,正如您期望的那样允许运行一些实际的代码。 例如我有一个
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" } }
正如你所看到的,我能够使用环境variables来存储数据库连接的细节,我不希望存储在一个文件(因为我使用公共github回购)。
-
global-config.js
是特定于您链接到的项目。 这是一个通用的JavaScript应用程序,所以作者正在使用这个文件共享服务器和客户端代码之间的configuration。 您可以通过search“global-config”来了解他是如何使用它的 – 这是为什么您可以使用.jsconfiguration文件的另一个很好的例子,因为他的config.local.js
使用代码来访问global-config.js
覆盖config.json
,当应用程序在本地运行。 - 正如你所看到的,configuration可以根据你的需求以多种方式处理,所以我不认为有一种方法可以写出每一个使用的configuration值,而不需要编写自定义的代码。