Итак, я пытаюсь заставить работать простое приложение Grails 3 и Angular. После локального запуска я ожидал, что мой файл app.js
загрузится, а затем загрузит мой файл index.html
.
Я не совсем уверен, как работает index/main gsps
, но, насколько я понимаю, при использовании asset-pipeline
он должен направлять на мой app.js
под src/main/webapp/js
, а $routeProvider
будет обрабатывать все остальное. Но он никогда не перенаправляется на мой app.js
. Похоже, он все еще ищет файлы в папке grails-app/assets
.
Вот мой index.gsp
:
<!doctype html>
<html>
<head>
<asset:javascript src="app.js"/>
</head>
<body>
<asset:javascript src="app.js"/>
</body>
</html>
main.gsp
:
<!doctype html>
<html lang="en" class="no-js">
<head>
<p>Here</p>
<asset:javascript src="../../../src/main/webapp/js/app.js"/>
<g:layoutHead/>
</head>
<body>
<g:layoutBody/>
<asset:javascript src="../../../src/main/webapp/js/app.js"/>
Вот мой context-path
из application.yml
server:
contextPath: '/item-upload'
Мой app.js
находится под src/main/webapp/js
. Это заменяющий каталог для webapp
в Grails 3. Поэтому я помещаю туда свои файлы js, html и css.
App.js
:
(function (angular) {
'use strict';
angular.module('common.initSideNavPanel', []);
var ngModule = angular.module('app', [
'ngRoute',
'ngAnimate',
'item-upload'
]);
// Configure routing
ngModule.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/', {templateUrl: 'html/index.html', controller: 'UploadCtrl', pageName: 'upload'});
}]);
}(window.angular));
Любые идеи, что я делаю неправильно?