angular-generator を使用してヨーマンアプリを構築しています。
私の index.html ファイルに含まれる js ライブラリは次のとおりです。
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/modernizr/modernizr.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script src="bower_components/d3/d3.js"></script>
<script src="bower_components/select2/select2.js"></script>
<script src="bower_components/angular-ui-select2/src/select2.js"></script>
この問題は、jquery がangular の前に含まれている場合にのみ発生し、その後にある場合は発生しません。
タイトルにある問題は、コンソールに「警告: angular を複数回読み込もうとしました」というメッセージが表示され、アプリを初期化できないことです。
なぜこれが起こるのか、誰にも手がかりがありますか?
私は単一の ng-app を持っています。角度を一度だけ含めています...そしてすべて。スクリプトの位置を変更すると直るので、構成に関係するものではないようです。
手がかりはありますか?
スクリプトの順序を含めるように構成できるかどうかは誰にもわかりませんか? angular-generator を使用しているので、bower スクリプトを含めるために usemin でこれを設定しました。スクリプトをどの順序で含めるかを指定できる方法はあるのだろうか。
これは、私のプロジェクトの bower.json ファイルです。
{
"name": "<name>",
"version": "0.0.0",
"dependencies": {
"angular": "1.2.15",
"json3": "~3.2.6",
"es5-shim": "~2.1.0",
"angular-ui-router": "~0.2.10",
"modernizr": "~2.8.1",
"d3": "~3.4.6",
"angular-ui-select2": "~0.0.5"
},
"devDependencies": {
"angular-mocks": "1.2.15",
"angular-scenario": "1.2.15"
}
}
グーグルで検索しようとしましたが、うまくいきませんでした。前もって感謝します!
更新 1:
この方法でスクリプトをインクルードすると、angular が 2 回インクルードされることはなく、常に最初にロードされることがわかりました。
<!-- build:js scripts/vendor.js -->
<script src="bower_components/angular/angular.js"></script>
<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/modernizr/modernizr.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script src="bower_components/d3/d3.js"></script>
<script src="bower_components/select2/select2.js"></script>
<script src="bower_components/angular-ui-select2/src/select2.js"></script>
<!-- endbower -->
最善の解決策ではありませんが、少なくとも今のところ... とにかく、bower:js タグ内にすべてを入れたいと思います。