基本的には、CDN(Kendo UI)のライブラリを参照して使用する多数の従来のWebアプリケーションがあります。そのような要求をリモートホストに取り除く作業がありますので、アプリケーションが参照する単一のローカルjsファイルにすべての依存関係を収集する既存のnpmスクリプトタスクにライブラリを組み込むことができます。モジュール化されたライブラリのスタンドアロンの外部依存関係jsファイルを作成するにはどうすればよいですか?
this libraryは、(jqueryやangularなどの他のライブラリとは異なり)すぐに使用できるプリコンパイル済みのjsファイルを提供していませんが、モジュール化されており、webpackまたはbrowserifyを使用する必要があります。
私たちのレガシーアプリケーションでは依存関係の読み込みにモジュラーアプローチを使用していないため、書き換えの対象がありません。モジュール化されたライブラリを同等のjsファイルにパッケージしたいと思います単純に<script>
参照を介してアクセスしてください。
私はbrowserifyを使って、ライブラリへの参照が単にrequire
のソースjsファイルからコンパイルしようとしましたが、アプリケーションのコンパイルされたファイルを参照すると、アプリケーションのライブラリ関数が利用できないため、エラーが発生します。
誰でも正しい方向に向けることができますか?
あなたはwebpackを使用して正しいトラックで、ライブラリの公開をするだけです。 libが純粋にモジュールベースのものであれば、あなたはあなた自身のグローバル名を作る必要があります。 jQueryはあなたの剣道UIのためにjQuery&$をしました。おそらくあなたはそれをグローバルな剣道などに公開することができます。 – Keith
ありがとうKeith。私はそれが剣道でちょっと変わったかどうかは分かりませんが、グローバル変数 'kendo'は、私が上記で述べたbrowserifyコンパイルされたファイルによって設定されているようですが、jQuery拡張関数(例えば' $(...)。kendoDropDownList () ')はグローバルには利用できません(browserifyでコンパイルしたjsファイルの中で利用可能です)。何か案は? –
はい、ほとんどの場合、jQueryはkenduのUIの中に依存している可能性があります。デフォルトでは、2つのバージョンのjQueryが完成します。ここではjQueryが外部になるようにwebpackをセットアップします。あなたのwebpack configの中に、 'externals:{jquery:" jQuery "}を入れてください。小文字のjqueryに注意してください。通常はノードの所要量を小文字にしておきますが、KenduのUIにrequire( 'jQuery')が必要な場合は、変更する必要があります。 – Keith