2015-10-11 4 views
0

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

  • ..
  • пакетов/пользовательские
    • module1
      • ...
      • сервера
        • модели
          • utils.js
    • module2
      • ...
      • сервер
        • модели
          • my.js

Я хочу использовать utils.js внутри my.js так:

var utils = require('utils'); 

I попробуйте разные подходы, но у вас есть e результат:

Error: Cannot find module 'utils' 
... 

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

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

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

ответ

0

Для этого вы должны загрузить модуль, поместив его в каталог «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 

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

var utils = require('utils'); 

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

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

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

var utils = require('../../../utils'); 
+1

Спасибо christmo. –