Я добавляю некоторые функции angularJs внутри существующего приложения Play Framework 2.0.
Файлы angularjs хранятся в public/
папке. Все работает нормально, пока я не пытаюсь использовать директиву с разделенным шаблоном:
Директива js multi-charts.js
и шаблон директивы multi-charts.html
помещаются в одни и те же components/directives
каталога. Таким образом, полный путь для файлов:
public/components/directives/multi-charts.js
public/components/directives/multi-charts.html
Проблема в том, что я не могу получить файл шаблона внутри директивы с помощью templateUrl
.
Директива:
app.directive('multiCharts', ['chartService', function(chartService){
return {
restrict: 'EACM',
templateUrl: 'components/directives/multi-charts.html',
replace: true,
link: function (scope, elem, attrs) {
}
}}]);
Запуск приложения невозможен.
GET http://localhost:9000/company/components/directives/multi-chart.html 404 (Not Found)
Изменение путей внутри templateUrl
не изменяет ошибку.
Мне что-то не хватает, есть ли способ ссылаться на шаблон html
в директиве, обслуживаемой внутренним веб-сервером Play Framework?
Нашел решение. Добавление нового маршрута в файл routes
воспроизведения:
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.at(path="/public", file)
Я могу получить шаблон по адресу:
templateUrl: '../assets/js/angular/directives/multi-charts.html'