Strongloop - 从远程方法或模型钩子获取配置值

时间:2015-05-18 16:36:32

标签: strongloop

我有一个node.js项目,使用StrongLoop和config.local.json以及包含配置键值对的config.json文件。在server.js中,我使用以下代码来检索键的值:

var loopback = require('loopback');
var app = module.exports = loopback();
var value = app.get('key');

但是,在模型远程方法或模型挂钩中,如何在那里检索这些配置键值?

2 个答案:

答案 0 :(得分:10)

答案是获取已经创建的Loopback应用程序,该应用程序可以访问配置文件并加载它。

var app = require('server.js');
var value = app.get('key');

答案 1 :(得分:0)

您只需要获取在server.js中创建的应用,然后使用getset访问器方法。这些可以带“任何” ...我用过集合和标量,是普通的JS东西。

我确实发现我需要给出require语句的完整相对路径。使用Visual Studio Code,这很容易,因为在我键入时它会为我跟踪它。它确实建议使用server.js,所以IDE没有头脑,您必须使用自己的!

在我的代码中,我在项目目录中有server.js,还有一个'./common/models 目录。

在我的一个观察者挂钩中,我有一个文件Rules.js

module.exports = function (rules) {
  ...
  // note, no .js needed
  let loopbackApp = require('../../server/server');

然后,当我需要更新值时:

console.log('Count:', loopbackApp.get('count'));
loopbackApp.set('count',loopbackApp.get('count')+1);

在Server.js中,我有:

app.set('count', 0); 

此功能自2019年开始,即Loopback3。

不幸的是,我无法发表评论,因此,对@marsairic的回答进行了一些改动,使我们功不可没。他帮我指出了正确的方向。也支持他的答案!

    == John ==