Как получить список определенных моделей в loopback.js? - PullRequest
0 голосов
/ 11 октября 2018

Я создал приложение Loopback.js и определил модели, взаимодействующие с источником данных.Все хорошо в Loopback Explorer.server.js работает нормально.В папке / server я создал другой файл js, который содержит:

var loopback = require('loopback');
var app = module.exports = loopback();
console.log(app.models());

При запуске этого файла модели не отображаются.Результат: [].Это пустой массив.

Есть идеи, почему я не могу получить полный список моделей?

Спасибо и С уважением.

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Ваша ссылка на объект приложения loopback (также способ получения моделей) неверна.Вы не можете требовать обратной связи и ожидать экземпляр приложения.В loopback.js сценарий ввода - server/server.js, который инициализирует приложение и запускает необходимые процессы, чтобы поднять его на определенный порт.Loopback-приложение имеет каталог server/boot, в котором находятся файлы, которые выполняются, как только приложение готово и доступны модели .Переместите ваш файл в загрузочный каталог с необходимыми изменениями.

Кроме того, чтобы модель была доступна в области петлевого приложения - вы должны добавить модель в model-config.json

Например.

 {
    "ModelOne": {
       "dataSource": "mysql",
       "public": false
    },
    "ModelTwo": {
       "dataSource": "db",
       "public": false
    },
    "YourModel": {
        "dataSource": "mysql", // this value comes from datasources.json -- well, remove this line because json file doesn't support comments
        "public": false
    }
 }

Теперь YourModel привязан к приложению и доступен через объект app или любую текущую модель.Например:

app.models.YourModel

app экземпляр присоединен к каждой действующей модели, поэтому вы можете получить доступ к другой модели без необходимости require или import следующим образом: (Предполагая, что выв файле model-one.js)

ModelOne.app.models.YourModel

(не пишу код для вас! Помните, что их ключ состоит в том, чтобы учиться у сообщества и реализовывать его самостоятельно)

0 голосов
/ 11 октября 2018
let app = require('../../server/server'); /** make sure the path to server is right **/

console.log(app.models) 

, если вы хотите получить доступ к конкретной модели

console.log(app.models.modelName);
...