Как следует упаковывать шаблоны HTML (так называемые «частичные») в приложении Angular.js, когда оно объединяется + минимизируется для распространения? Есть ли хороший способ включить их в этот единственный файл или мне следует заархивировать папку, содержащую подкаталоги main.js
, /templates/*.html
и /styles/app.css
?
Оптимизатор Require.js сжимает все файлы JS в один файл myapp.min.js
, который подходит для распространения, но файлы HTML по-прежнему упоминаются как отдельные файлы.
В качестве фона код находится на сервере Node.js:
public/
/app/main.js
/app/app.js
/app/directives/*.js
/app/filters/*.js
/app/factories/*.js
/app/other/*.js
/app/templates/*.html
После запуска r.js
все файлы в public/app/**
имеют оптимизированные двойники, расположенные в другом каталоге public/build/**
. Но браузер по-прежнему ищет шаблоны в их исходном местоположении, /app/templates/*.html
.
Так что, по-видимому, клиенту придется поместить их в один и тот же каталог, что кажется несправедливым ограничением.
text!
для оптимизатора, чтобы связать их. Это означает, что в директивах вам придется использовать объявлениеtemplate:
(вместоtemplateUrl:
) и полагаться на RequireJS для загрузки. Аналогично для маршрутов (но вы также можете ввести промежуточный модуль AMD, который регистрирует шаблоны с помощью$templateCache
для очистки кода). Могу поподробнее об этом, если интересно. - person Nikos Paraskevopoulos   schedule 07.11.2013