Grails 3.1.5でAngularアプリケーションを作成していて、アセットパイプラインで必要なJavascriptファイルの注文が得られません。私は、次のJavaScriptファイルを持っている:Grails Asset Pipelineが適切なJavascriptを使用していない
angello.js
//= require /angular/angular
//= require /angular-route/angular-route
//= require /angello/core/angello.core
//= require /angello/index/angello.index
//= require /angello/common/angello.common
//= require /angello/storyboard/angello.storyboard
var myModule = angular.module("Angello", [
"angello.core",
"angello.index",
'ngRoute',
'Angello.Common',
'Angello.Storyboard'
]);
myModule.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'assets/angello/storyboard/tmpl/storyboard.html',
controller: 'StoryboardCtrl',
controllerAs: 'storyboard'
})
});
myModule.controller('MainCtrl', function() { });
angello.storyboard.js
//= require_tree services
//= require_tree controllers
//= require_tree directives
//= require_tree templates
//= require_self
angular.module('Angello.Storyboard', ['Angello.Common']);
storyboardController.js
//= require /angular/angular
//= require /angello/storyboard/angello.storyboard
//= require_self
angular.module('Angello.Storyboard')
.controller('StoryboardCtrl', function() {
var storyboard = this;
});
私は <asset:javascript src="angello.js" />
ときHTMと私のメインのGSPでこのすべてを含めますLレンダリングされ、JSファイルの順序は、私が期待するものではありません。
<script type="text/javascript" src="/assets/angular/angular.js?compile=false" ></script>
<script type="text/javascript" src="/assets/angular-route/angular-route.js?compile=false" ></script>
<script type="text/javascript" src="/assets/angular/angular-resource.js?compile=false" ></script>
<script type="text/javascript" src="/assets/angello/core/angello.core.js?compile=false" ></script>
<script type="text/javascript" src="/assets/angello/core/services/DomainServiceFactory.js?compile=false" ></script>
<script type="text/javascript" src="/assets/angello/index/angello.index.js?compile=false" ></script>
<script type="text/javascript" src="/assets/angello/index/services/applicationDataFactory.js?compile=false" ></script>
<script type="text/javascript" src="/assets/angello/index/controllers/indexController.js?compile=false" ></script>
<script type="text/javascript" src="/assets/angular/ui-bootstrap-tpls.js?compile=false" ></script>
<script type="text/javascript" src="/assets/angello/common/angello.common.js?compile=false" ></script>
<script type="text/javascript" src="/assets/angello/storyboard/controllers/storyboardController.js?compile=false" ></script>
<script type="text/javascript" src="/assets/angello/storyboard/angello.storyboard.js?compile=false" ></script>
<script type="text/javascript" src="/assets/angello.js?compile=false" ></script>
問題はストーリーボードJSファイルは文句の角度で、その結果、私は必要なものの逆の順序で含まれていることである
Error: [$injector:nomod] Module 'Angello.Storyboard' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
これは私が依存関係の指示を構成した方法の問題だと思います。私は多くの異なることを試みましたが、何もその順序に影響を与えないようです。
'angello.storyboard.js'では、モジュール自体の前に 'controllers'が必要です。そのため、コントローラ( 'styoryBoardController.js')が必要な場合、モジュールが存在しないことに不満を持ちます。 '// = require_self'を' angello.storyboard.js'の一番上に移動してみてください。最適化することもできます。 – dmahapatro
@dmahapatroそのトリックをした!回答として投稿してください。私はそれを正しく記入して喜んでします。 –