Как в Mean.IO использовать внедрение зависимостей на стороне сервера?

Чтобы объяснить мой вопрос, взгляните на структуру этого примера проекта:

  • ..
  • packages/custom
    • module1
      • ...
      • server
        • models
          • utils.js
    • module2
      • ...
      • server
        • models
          • my.js

Я хочу использовать utils.js внутри my.js следующим образом:

var utils = require('utils');

Я пробую разные подходы, но получаю тот же результат:

Error: Cannot find module 'utils'
...

Единственный способ, который я нашел, - использовать относительный путь, но я думаю, что это не лучший метод.

В документации MEAN.io неясно, как использовать внедрение зависимостей на стороне сервера (клиентская сторона работает очень хорошо) вне app.js.

Может кто-нибудь помочь мне?


person Emiliano Santucci    schedule 11.10.2015    source источник


Ответы (1)


Для этого вы должны загрузить модуль, поместив его в каталог «node_modules» в корне. Вы должны просмотреть, как это работает по этой ссылке:

https://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders

- app
   - node_modules
      - utils
         - index.js (Rename utils.js or create a package.json file)
   - packages
      - custom
         - module2
            - server
               - models
                  - my.js

Таким образом, вы можете использовать эту строку в my.js

var utils = require('utils');

Но вы можете сделать это:

- app
   - packages
      - custom
         - module2
            - server
               - models
                  - my.js
         - utils
            - index.js

Затем вы должны сделать это в my.js

var utils = require('../../../utils');
person christmo    schedule 31.10.2015