Strongloop - 从远程方法或模型挂钩获取配置值
Strongloop - Get config values from remote methods or model hooks
我有一个 node.js 项目使用 StrongLoop,config.local.json 和 config.json 文件包含配置键值对。在 server.js 中,我使用以下代码检索键的值:
var loopback = require('loopback');
var app = module.exports = loopback();
var value = app.get('key');
但是,在模型远程方法或模型挂钩中,我如何才能在那里检索这些配置键值?
答案是获取已经创建的 Loopback 应用程序,它可以访问配置文件并加载它。
var app = require('server.js');
var value = app.get('key');
您只需获取在 server.js 中创建的应用程序,然后使用 get
和 set
访问器方法。这些可以 'any' ...我用过集合和标量,普通的 JS 东西。
我发现我需要给出 require
语句的完整相对路径。使用 Visual Studio 代码,这很容易,因为它会在我输入时为我跟踪它。确实提示了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 年有效,环回 3。
不幸的是,我无法发表评论,所以完全归功于@marsairic 的回答并做了一些更改;他帮我指出了正确的方法。也为他的回答点赞!
== John ==
我有一个 node.js 项目使用 StrongLoop,config.local.json 和 config.json 文件包含配置键值对。在 server.js 中,我使用以下代码检索键的值:
var loopback = require('loopback');
var app = module.exports = loopback();
var value = app.get('key');
但是,在模型远程方法或模型挂钩中,我如何才能在那里检索这些配置键值?
答案是获取已经创建的 Loopback 应用程序,它可以访问配置文件并加载它。
var app = require('server.js');
var value = app.get('key');
您只需获取在 server.js 中创建的应用程序,然后使用 get
和 set
访问器方法。这些可以 'any' ...我用过集合和标量,普通的 JS 东西。
我发现我需要给出 require
语句的完整相对路径。使用 Visual Studio 代码,这很容易,因为它会在我输入时为我跟踪它。确实提示了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 年有效,环回 3。
不幸的是,我无法发表评论,所以完全归功于@marsairic 的回答并做了一些更改;他帮我指出了正确的方法。也为他的回答点赞!
== John ==