При использовании вертикальной структуры папок для AngularJS (MeanJS), где размещать общие службы

Я использую MEANJS. И создали несколько грубых модулей для статей, банковских счетов, доходов и расходов. Для доходов и расходов мне нужен сервис, который находит имя банковского счета, используя его _id.

Итак, я придумал этот фильтр:

'use strict';

angular.module('incomes').filter('findBy', [
    function() {
      return function(input, id) {
        var i=0, len=input.length;
        for (; i<len; i++) {
          if (input[i]._id === id) {
            return input[i];
          }
        }
        return null;
      }
    }
]);

Но если я хочу использовать фильтр как из контроллера доходов, так и из контроллера расходов, я должен поместить его в общий фильтр? Итак, в этой вертикальной структуре папок: где я предпочитаю размещать общие фильтры и общие службы.

(Я думал, что могу поместить фильтр в «приложение», используя var app=angular.module("app",[]), но я не вижу использования приложения нигде в шаблонном коде MEANJS, и я не хочу нарушать структуру)

Вертикальная структура:

|-css 
|-img 
|-js 
|-modules 
|---articles 
|-----config 
|-----controllers 
|-----services 
|-----tests 
|-----views
|---core
|-----config
|-----controllers
|-----tests
|-----views
|---users
|-----config
|-----controllers
|-----services
|-----views

person David Karlsson    schedule 09.01.2015    source источник


Ответы (1)


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

Вам что-то мешает сделать то же самое?

person sam    schedule 09.01.2015
comment
Мне просто любопытно, есть ли какой-нибудь книжный метод для решения этой проблемы. Это не упоминается в документах MEANJS, хотя они немного болтают о вертикальной структуре. Я попробую ваше решение. - person David Karlsson; 09.01.2015