2015-12-14 2 views
1

Нужны помощь в обобщении углового имени модуля,Угловое имя модуля глобальная декларации и повторное использование

angular.module('my-old-name-app', []) 

Я использую это примерно 100+ файлов контроллер.
Теперь я хочу сменить имя модуля с my-old-name-app- на my-new-name-app, поэтому мне нужно сделать это вручную для всех файлов.
Есть ли способ избежать этого?
Можем ли мы иметь общую глобальную декларацию имени модуля и повторно использовать его во всех файлах?
Я пробовал, но не нашел подходящего решения.
Примечание: поскольку это уже существующий проект. Я не могу реструктурировать/перепроектировать.

ответ

0

Я использую это в более чем 100 файлах контроллера.

Поэтому не используйте его в все ваши контроллеры. В любом случае, вы можете избежать этой проблемы, если разрабатываете свое приложение более модульно. Рекомендуемый подход состоит в том, чтобы разделить приложение на несколько модулей, например, с помощью функции. Тогда основной модуль, который вы хотите переименовать, будет использоваться только в одном месте. Определение приложения, то может быть что-то вроде этого:

angular.module('mu-old-name-app', [ 
    'app.dashboard', 
    'app.profile', 
    // ... 
]); 

Затем модуль app.dashboard бы включены соответствующие контроллеры, услуги и т.д. Модуль app.profile будет включать в свой собственный материал и т.д.

+0

Как это существующий проект, это трудно не использовать его во всех файлах. Я не могу реструктурировать весь проект. Есть ли обходной путь? – ankitd

+0

Если вы хотите сделать это правильно, вам нужно будет иметь лучшую структуру. Вы можете легко перемещать части приложения в подмодули по одному. Но пока это не так, вам придется использовать глобальную находку и замену во всем приложении. Также простое решение :). – dfsq

0

Избегайте глобальных переменных в angularjs приложений, есть очень хороший и чистый style-guide made from J. Papa.

Конечно, если вам нужно переработать все приложение, вам необходимо найти и заменить старое имя модуля в каждом файле, который его использует.

Хороший способ для создания приложения angularjs использует более 1 модуля, дает пример блога. Блог, как правило, состоит из следующих компонентов:

  1. панели - для поста редактирования
  2. список и одиночных виды
  3. о информации автора
  4. контакты для поддержания связи с автором

теперь у вас есть много способов структурировать ваше приложение, простой способ состоит в том, чтобы иметь один модуль под названием блог и приложить к нему каждый компонент, но в случае будущего рефакторинга вы разочаруетесь.

Хорошее решение, вместо того, чтобы разбить приложение создания модуля для каждого компонента:

angular 
 
    .module('blog.dashboard') 
 
; 
 
angular 
 
    .module('blog.about') 
 
; 
 
angular 
 
    .module('blog.contacts') 
 
; 
 

 

 
angular 
 
    .module('blog', [ 
 
    'blog.dashboard', 
 
    'blog.about', 
 
    'blog.contacts' 
 
    ]) 
 
;

+0

как пример. В случае, если «blog.contacts» используется более чем в 50+ файлах, и вы хотите переименовать «blog.contacts» в «blog.RENAME.contacts», мы все же должны вручную изменить его во всех файлах , правильно? – ankitd

+0

Если у вас более 50 файлов, возможно, вам нужно больше одного модуля ... – Hitmands

+0

Прежде всего, это уже существующий проект. Я думаю, что это не ответ на мой вопрос. – ankitd

Смежные вопросы