Require JS API -documentationを読んで、これを正しく実行する方法を理解しようとしていますが、ライブラリをロードできないため、定義されていません。私はNPM-WebJarsを通してこれを使用していますが、あなたがそれをどのように定義するかは関係ありません。AMDがサポートしていないモジュールでRequireJSを設定する
基本的には、自分のプロジェクトでthe react-bootstrap-switch -libraryを使用しようとしています。ここにはJavaScript-file source in Pastebinがあり、マスターブランチで変更される可能性があります。 react-bootstrap-switchは、exports.default = Switchでライブラリを定義します。私はRequireJSを使用して定義されたいくつかの他のモジュールを持っています。これはAMDサポートを持っていて動作しています。私はそれが動作しません-Importだけで標準requirejs.configでそうライブラリ
define(['react', 'react-bootstrap-switch'], function(React, Switch){
console.log(Switch); // <- undefined
}
を使用してRequireJS
requirejs.config("paths":{"react-bootstrap-switch":["@routes.WebJarAssets.at("react-bootstrap-switch/15.0.0/dist/js/index")"]}}); // the file location
を使用していますどのようにここで
は、あるAMDのサポートの欠如ので。だから私はシムを使うべきだと思うけど、どうしたらいい?私は少しそれを読んできましたが、私は適切にそれを使用してライブラリをインポートするために失敗しました。それはおそらくかなり簡単なものでなければなりませんが、動作していないようです。例えば、
requirejs.config({
"paths":{"react-bootstrap-switch":["@routes.WebJarAssets.at("react-bootstrap-switch/15.0.0/dist/js/index")"]},
"shim": {
"react-bootstrap-switch": {
exports: 'Switch'
}}});
葉は定義されていません。私はinit-functionsで間に入ることを試みてきましたが、ウィンドウ内に正しい名前空間を見つけることができません。また、パスの前にシミングの順番を入れ替えようとしましたが、 'Switch'ではなく 'default'を試してみましたが、他のトリックもありましたが、未定義に固執してしまったので、
最後に、コードをローカルで取得し、exports.defaultの代わりに別のものに変更するか、自分の関数をコード化するだけですが、将来の参照用にこのコードを使用したいと思います。