AngularJS: Объединить все частичные виды/шаблоны для производства
Я хочу, чтобы мнения были как можно более модульными. На практике это означает, что у меня есть множество небольших обобщенных фрагментов HTML, из которых составлена фактическая HTML-страница. Теперь ng-include
и пользовательские директивы с templateUrl
подходят мне довольно хорошо, но только в разработке, потому что каждый фрагмент HTML запрашивается отдельно.
В производстве, однако, я ожидаю, что одностраничное приложение должно быть, ummm, на одной странице, все в комплекте и минитизировано - точно так же, как загрузчики модулей JavaScript (RequireJS, Component, Browserify, DuoJS, и т.д.) будет делать с модульными файлами JavaScript. Никакой дополнительный HTTP-трафик для загрузки кусков HTML не является приемлемым.
Теперь я уверен, что AngularJS не делает комплект из коробки (я бы его уже нашел), но, может быть, вы, ребята, придумали что-то для решения этой проблемы?
P.S. Следует отметить, что я не ищу решения, связанные с кешем.
Ответы
Ответ 1
вы можете использовать шаблон grunt-angularjs
он объединяет все шаблоны в одном файле. согласно своим документам
Задача сборки Grunt для конкатенации и регистрации шаблонов AngularJS в $templateCache
если вы используете gulp, эквивалент gulp gulp-angular-templatecache
Ответ 2
Если вы используете gulp, тогда хорошим вариантом будет gulp-angular-embed-templates