問題タブ [requirejs-optimizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
211 参照

javascript - 「$.widget が定義されていません」requirejs ビルド後

jquery.selectBoxItをロードするためにrequirejsを使用しています。jQueryUI ウィジェット ファクトリを使用するため、jQueryUI 公式サイトからプロジェクトにウィジェット ファクトリのみをロードしました。

プロジェクトが config.js で読み込まれると、selectBoxIt は問題なく実行されます。しかし、r.js でプロジェクトをビルドすると、エラーが発生します$.widget is not defined

助けてください修正してください。

PS。私はすでにいくつかのGoogleの結果を読んでいますが、何も役に立ちません.

config.js

module.js

selectBoxIt コードの行にエラーが表示される

0 投票する
0 に答える
37 参照

requirejs - r.js で最適化されていないファイルを使用する

次のオプティマイザ設定を使用してデュランダル ビルドを最適化しています。

私の問題は、最適化から除外し、最適化されていないバージョンとして使用したい に があることですconfig.jsrequireConfig.pathsその理由は、最適化されたファイルを掘り下げることなく、ビルドの構成ファイルを変更できるようにしたいからです。

excludeとを試しempty:ましたが、最適化された js ファイルから構成を除外するだけです。「リモート」ファイルとして含めるにはどうすればよいですか?

config.js:

0 投票する
3 に答える
191 参照

javascript - Durandal ビルドでファイルを最適化から除外する

私は Grunt を使用してDurandal スターター キットのプロパッケージをビルドしています。

1 つの小さな詳細を除いて、すべて正常に動作します。1 つのファイル (以下) をオプティマイザーから除外app-configし、ビルドが完了したときに縮小されていないファイルとして保持したいと考えています。

他の SO スレッドの提案に基づいて、現在、を使用して除外していempty:ます。これにより、期待どおりに最適化されたファイルから削除されます。ただし、ビルドされたプロジェクトを開くと、コンソールにエラーが表示されます。

Uncaught Error: main missing app-config

問題はアーモンド?を使用して完全なrequirejsに切り替えてみましたが、include: ['path/to/require']成功しませんでした。

ローカルで再現したい場合は、上記のリンクからスターター キットをダウンロードするか、私の例に近いわずかに構成されたバージョンを使用できます。フォルダー内で実行するだけで、npm installすべて設定されます。

0 投票する
1 に答える
158 参照

javascript - RequireJS オプティマイザーのハード インクルード

1 つではなく 2 つのバンドルにバンドルしたい大規模なクライアント側プロジェクトがあります。

これは私の依存関係ツリーです:

モジュールの依存関係ツリー

望ましい出力は、これらのバンドルを持つことです。

  1. main含むb
  2. xこれにはab最初のバンドルにすでに含まれており、ユーザーがコードを複数回ダウンロードすることは望ましくありません)。

これが私のオプティマイザ構成です。

mainの依存関係ツリー全体から除外したいのですxが、明示的に必要なモジュール ( a.

そんなこと知ってる:

  1. include— 直接必要のないモジュールとその依存関係ツリー全体を明示的に含めます。
  2. exclude— モジュールを除外すると、実際にはその依存関係ツリー全体が除外されinclude、競合が発生した場合にオーバーライドされます。
  3. excludeShallow—モジュール自体を含ま、モジュールの依存関係ツリーを含みます。

それを持っていると、私が望むものを達成するための明確な方法がわかりません。助けてもらえますか?

0 投票する
1 に答える
330 参照

gulp - requirejs オプティマイザー - 最適化されたモジュール名を変更する方法

一部のモジュールを requirejs オプティマイザーで最適化したいのですが、パスに関する問題が発生しました。main.jsエントリ ポイントには のコンポーネントが必要です/build/modules/が、最適化されたモジュールの名前がこのパスと一致しません。コンポーネント ファイルは読み込まれますが、定義されている関数は呼び出されません。 main_component.jsにはコンポーネントmoduleAとが必要でmoduleB、にはビルド済みbuildのが必要です。main.jsmain_component.js

のコード./build/main.js:

のコード./build/modules/main_component:

プロジェクトの構造:

また、gulp wrapper を使用していますgulp-requirejs-optimize。これは私のgulpfileです:

0 投票する
1 に答える
3111 参照

javascript - requirejs の最適化後に jQuery.ui が未定義

私の Web アプリケーションには<script>、相対的な依存関係の順にタグを介して以前に読み込まれたいくつかの JavaScript ファイルがあります。現在、require.js を使用してそれらを再編成し、それらを蓄積して本番用に縮小しています。

手始めに、AMD カプセル化をまだ行わずに、すべてのファイルをグローバル (ウィンドウ) コンテキストに単純にロードしたいと思います。

ここでの考え方'jquery'は、グローバル (ウィンドウ コンテキスト)jQuery変数を定義し、 (より良いタッチ サポートのために)'jquery-ui'セットjQuery.ui'jquery-ui.touch-punch'変更を行うというものです。jQuery.ui

これは、そのまま実行する場合、つまり最適化なしで実行する場合にうまく機能します。ただし、1 つのファイルにコンパイルし、RequireJS オプティマイザーを使用して縮小すると、次のエラーが発生します。

これは、 にアクセスしようとしている回線で発生しますjQuery.ui.mouse

ブラウザ コンソール内でjQueryは、ウィンドウ コンテキストで正しく設定されていますが、jQuery.ui未定義です。ただし、手動で実行すると、期待どおりrequire(['jquery-ui'])に設定jQuery.uiされます。

最適化後に jQuery UI の動作が異なるように見えますが、その正確な方法や理由はわかりません。私は何を間違っていますか?

0 投票する
2 に答える
1551 参照

node.js - 非同期フックが終了するまで Cordova を待機させる

私の Cordova プロジェクトには、RequireJS 最適化 (r.js) を実行するフックがありafter_prepareます。この最適化は本質的に非同期であるため、すべての最適化が完全に終了する前にフック コードが返されます。

たとえば、これにより、実行時に問題が発生しますcordova run browser。最初のページの読み込み時に、最適化がまだ完了しておらず、サイトが壊れているように見えます。

特定のフックがコールバックを起動するまで Cordovoa ビルド プロセスをブロックする方法はありますか? または、オプティマイザーをブロック/同期の方法で実行できますか?

私が考えることができる代替案は、最適化に別のプロセスを使用し、主にそれが完了するまでビジー待機することですが、それはやり過ぎで悪い習慣のように思えます。