アプリケーションで StealJS + Bower 統合を使用していますが、いくつかの Bower コンポーネント (を含むes6-collections
) に bower.json ファイルが含まれていません。es6-collections
私のプロジェクトの bower.json ファイルの依存関係の 1 つであるため、StealJS はコンポーネントのbower.jsonファイルを読み込もうとしますes6-collections
が、存在しないため見つからず、文句を言います:をロードするときに使用しますが、それは役に立ちません。StealJS にこのコンポーネントを読み込ませるにはどうすればよいですか?Unable to load the bower.json for es6-collections.
System.config({ path: { 'es6-collections': '...' } })
es6-collections
1 に答える
仮定
そこで、いくつかの仮定を立てます。
- あなたはバワーからの盗みを使用しています
- あなたはgithubから直接es6-collectionsを「bower install」しています
- HTMLを使用して「メイン」ファイルをロードすることにより、 system-bowerプラグインを暗黙的に使用しています
<script src="bower_components/steal/steal.js" main="main"></script>
これらのことがほとんど正しいと思われる場合は、ファイルに構成を追加bower.json
して、エラー/警告を黙らせ、すべてが期待どおりに機能するようにする必要があります。
説明:
そのため、system-bower プラグイン (steal がbower_components
ディレクトリからロードされていることを検出したため暗黙的に使用している) はコンポーネントbower.json
ファイルを使用してエントリ ポイントを決定するため、この場合、エラー/警告は es6- を見つけることができないことに起因します。コレクションbower.json
ファイル。
解決:
そのため、システム (steal によって使用される) に、そのモジュールの場所と、そのbower.json
ファイルの検索を停止できることを伝えるだけで済みます。
"system"
プロパティを bower.json に追加し、次のような構成データを追加することでそれを行うことができます...
"system": {
"paths": {
"es6-collections": "bower_components/es6-collections/index.js"
},
"bowerIgnore": ["es6-collections"],
"meta": {
"es6-collections": {
"format": "global"
}
}
}
- そこの
paths
構成は、システムにモジュールの場所を伝えます bowerIgnore
配列は、そのモジュールsystem-bower
の を検索しないように指示しますbower.json
- 構成は、
meta
このモジュールをグローバル オブジェクト (ブラウザーのウィンドウ) に追加するスクリプトのようにシステムに処理するように指示するためにあります。 : pollyfill するものが何もない場合は空のオブジェクトをエクスポートするため、エクスポートされたオブジェクトを使用できません。グローバル モジュールのように使用するのが最善です。
これらすべての詳細については...
http://stealjs.com/docs/bower.html
https://github.com/systemjs/systemjs/wiki/Meta-Configuration
http://stealjs.com/docs/steal.html
ここに実際の例を示しますhttps://gist.github.com/BigAB/c108bb0860c9cfee3d6aは、コピーして貼り付け/クローンを作成し、実行して動作を確認できる3つのファイルですbower install
。