我有一个node.js项目,使用StrongLoop和config.local.json以及包含配置键值对的config.json文件。在server.js中,我使用以下代码来检索键的值:
var loopback = require('loopback');
var app = module.exports = loopback();
var value = app.get('key');
但是,在模型远程方法或模型挂钩中,如何在那里检索这些配置键值?
答案 0 :(得分:10)
答案是获取已经创建的Loopback应用程序,该应用程序可以访问配置文件并加载它。
var app = require('server.js');
var value = app.get('key');
答案 1 :(得分:0)
您只需要获取在server.js中创建的应用,然后使用get
和set
访问器方法。这些可以带“任何” ...我用过集合和标量,是普通的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 ==