2013-12-17 3 views
30

Я новичок в angularJS. Мне удалось создать приложение phonegap с помощью angularJS. Приложение работает нормально и работает нормально. Проблема в том, что теперь у меня есть немного больше понимания того, как работает angularJS (по крайней мере, я думаю, что у меня есть), я беспокоюсь о структуре файлов приложений и удобстве обслуживания кода. Мой проект следует шаблону углового семени. Angular Seed on GitHub, где у меня есть эта структура:Приложение AngularJS: Как включить файлы .js в index.html

js 
    app.js 
    controllers.js 
    directives.js 
    services.js 
    filters.js 

После исследования, как структура приложений с angularJS, я нашел некоторые очень хорошие статьи о нем: Building Huuuuuge Apps with AngularJS и HOW TO STRUCTURE LARGE ANGULARJS APPLICATIONS

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

scripts 
    controllers 
      LoginCtrl.js 
      HomeCtrl.js 
      AboutCtrl.js 
      ClientCtrl.js 

Дело в том, что я борюсь с тем, что в пути, что мое приложение было раньше, у меня был только один файл controller.js , В моем файле index.html я обычно загружаю все файлы сценариев с помощью тега script. Теперь, когда у меня есть 4 разных файла .js для моих контроллеров, как их загрузить в файл index.html? Должен ли я загружать их там?

Это не выглядит правильным, если я загружаю все скрипты в файле index.html (я знаю, что, имея один файл, код будет загружен таким же образом, это просто странно, что у меня много скриптов теги, упакованные там). Я нашел ng-шаблонный проект на github, и на index.html они загружают сценарии типа динамически. Проблема в том, что я не могу начать новый ng-bolierplate прямо сейчас, и я не мог найти, как они это сделали. Извините за длинный текст. Благодаря!

+0

Возможный дубликат [Угловое соглашение для нескольких файлов] (http://stackoverflow.com/questions/18241143/angularjs-convention-for-multiple-files) – Stewie

+1

Я никогда раньше не использовал хрюканье. Мой проект не установлен, и я - проект телефонной игры, поэтому я действительно запутался в том, как это сделать. – jpgrassi

ответ

12

Ссылка на каждый файл сценария в собственном теге в index.html - это, безусловно, один из способов сделать это, и наиболее простой. Тем не менее, если вы хотите что-то чище, взгляните на одном из различных направляющих для объединения Угловая с RequireJS:

http://www.startersquad.com/blog/angularjs-requirejs/

Does it make sense to use Require.js with Angular.js?

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

+0

Спасибо, первая статья помогла мне понять, как это работает. Я подумаю об использовании этого, хотя из-за того, что наш проект запущен и я не хочу иметь серьезных изменений прямо сейчас. – jpgrassi

3

Использование http://browserify.org/

Вы получаете очень простые и элегантные commonjs modules и множество удивительных библиотек из Node.js в вашем браузере.

Код вставляется в один файл js.

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