0

JSFアプリで使用するJavaScriptコンポーネントを開発しており、Dojoを使用しています。重要なのは、ライブラリの特定の部分のみが必要であり、目標を達成するために使用するファイル/フォルダーのみをWebアプリに挿入したいということです。

これは「手動で」行うこともできますが、将来的にはDojoから他の機能を追加する必要があり、必要なリソースがわかりません->この瞬間までに、私たちはDojo/jsの達人ではないことに気づいたと思います。

基本的に、このプロセスを自動化する方法を探しています。依存関係のリストを取得してから、ファイルを「フィルタリング」するための小さなスクリプトを作成することを考えていました。

これは可能ですか?誰かがこれを以前に試したことがありますか?ありがとう。

4

3 に答える 3

0

私はあなたの要求を誤解しているかもしれませんが、道場はあなたが箱から出して欲しいことをしていると思います。最新バージョンのdojoはAsynchronousModuleDefinition(AMD)形式に従っているため、グローバルrequire関数を使用して、特定のコードブロックが持つ依存関係を記述し、それらのモジュールのみがロードされます。サイトペン道場イントロからの例:

require(["dojo/dom", "dojo/domReady!"], function(dom){
    var greeting = dom.byId("greeting");
    greeting.innerHTML += " from Dojo!";
});

単一の<script/>タグをロードするだけでよい場合は、dojoビルダーを調べてください。オンラインビルドツールの使用dojo.jsレイヤーに含めるパッケージを選択すると、すべてが、dojoコアに加えてdojoコアを含むdojo.js/dojo.js.uncompressed.jsを含むzipファイルにバンドルされます。選択したモジュール。

于 2012-12-10T13:43:33.177 に答える
0

OK、これは次のようにして行いました(誰かがこれを必要とする場合に備えて):

    * JSFフィルターを宣言し、それを/ js / *にマップします(すべてのdojoリソースは/ jsフォルダーの下にあります。これは、フォルダー構造に合わせて変更する必要がある場合があります)。このようにして、dojoリソースに対するすべてのリクエストがフィルタリングされます。
    *フィルタークラスで、要求されたすべてのファイルを取得します:(HttpServletRequest)request).getRequestURI()そしてそれをファイルに1行ずつ書き込みます:これで必要なすべてのリソースが得られました。
    *スクリプトを使用してそのファイルを1行ずつ解析し、ファイルを別の場所にコピーします->フォルダー構造を構築します。
    * WebContentフォルダー(または必要な場所)に作成されたファイルを使用すると、クリーンなライブラリが作成されます->使用したものだけをデプロイします。
于 2012-12-11T10:47:12.087 に答える
-2

Web には本格的な JavaScript ライブラリが散らばっていて、それらはあなたの時間を節約し、Web 開発をずっと楽にしてくれると言っています。これらの「わずか 80 kb」のライブラリを含めることをお勧めします。これらのライブラリは、すべてのニーズに対するソリューションであり、実質的に Web サイトを単独で機能させるはずです。言うまでもなく、私は JavaScript ライブラリーの熱心な信奉者ではありません。特に、ほとんどの場合、余分なコードが多数含まれているためです。そのため、基本的な JavaScript 関数のみを含む小さなライブラリーを作成することにしました。

その結果が EJ – Essential JavaScript です。

EJ は、私が常に使用する関数で構成されており、JavaScript の記述を高速化し、その結果、より効率的に作業を行うことができます。また、作成する Web サイトごとに何度も何度も書く内容を 1 つのきちんとした小さなファイルにまとめて、対処する必要のある新しいことに集中できるようにすることも重要です。

于 2012-12-10T12:46:40.330 に答える