問題タブ [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.
jquery - RequireJS オプティマイザ r.js で縮小した後、通常の変数に変換された Jquery オブジェクト
私はCoffeeScriptでこの機能を持っています
$elements は、次のような配列を使用する jQuery 変数です。
生成された縮小コードを使用するRequireJS オプティマイザーr.js
を使用Uglify
すると、次のようになります。
以前の縮小されたコードでは、は .. に$el
なりました。したがって、これはプロダクションで as jQuery 要素t
を実行することを拒否しました。$el
これは問題ですが、なぜこれが発生するのかわかりません。なぜこれが私に起こるのか、誰でも説明できますか、ありがとう。
更新:縮小されたコードは問題ではありませんでしたが、配列内のノードが適切にロードされる前にスクリプトが実行されましたが、ドキュメントの準備が整った後に関数を呼び出しています。つまり、DOM を完全にロードする必要があります。
ヒント: script タグを に入れています。これは、コードが縮小されていない場合に適切に機能します。
requirejs - require js shims と r.js に関する問題
私はr.jsにいくつかの問題を抱えています.誰かが光を当ててくれることを願っています.
次のシムを検討してください。
次の任意のプラグイン (注: jQuery プラグインである必要はありませんが、2 つは 1 に依存する必要があります)。
プラグイン 1:
プラグイン 2:
r.js は以下をビルドします。
これは素晴らしいことです - すべてが正しい順序になっています。
ただし、設定する必要がある場合
ビルド構成では、これを出力として取得します。
wrapShim を true に設定するポイントを誤解しているかどうかはわかりませんが、これは次のようにコンパイルされるべきではありません。
と
?
wrapShim は、シムに設定された依存関係を完全に無視しているようです。
requirejs - Play フレームワークで RequireJS オプティマイザを使用するには?
宣伝されているようにrjs
、Play では次のことができます。
WebJar 内から参照されるすべての JavaScript リソースが、jsdelivr CDN から自動的に参照されるようにします。さらに、.min.js ファイルが見つかった場合は、それが .js の代わりに使用されます。ここでの追加ボーナスは、html を変更する必要がないことです!
しかし、私はそれを機能させることができないようです。
- Play アプリをプロダクション モードで実行しようとしましたが、すべての webjar JavaScript がローカルとして参照されたままです。
.min
本番環境で使用されている JavaScript ファイルのバージョンがわかりません。依存性注入を本番モードで機能させることができません。たとえば、
jquery
このようにコードに挿入したい場合define(['jquery'], function ($) { 'use strict'; console.log($.grep); return { sum: function (a, b) { return a + b; } }; });
私はこれを開発モードでうまく動作させることができますが、プロダクションモードではrjs
失敗したと言います
Webjar によって生成された構成セットアップにもかかわらず、明らかに、jQuery の間違った場所を見ています。
の正しい場所を取得しjquery
ます。
私は Play 2.4.0 をpipelineStages := Seq(rjs, digest)
使用しており、build.sbt にセットアップされています。
どこを間違えたのか教えてください。
ありがとう!
javascript - RequireJS Optimizer - require lib と main.js のみを組み合わせる
RequireJS プロジェクトのビルド ステップで、すべてのモジュールを結合して 1 つのファイルにエクスポートするのに時間がかかりすぎます (約 14 秒)。これは、自分のファイルを見ながら開発することが非常に退屈になったことを意味します。node モジュールを使用してコンパイルしていますが、 RequireJS 最適化ページのすべてのヒント ( への設定optimize
を含む)を既に試しましたがnone
、コンパイル時間に大きな違いは見られませんでした。この時点で、require lib、config、およびmain.js
開始ファイルを組み合わせて、他のすべてのモジュールをネットワーク リクエストを通じてロードできるようにするだけです。
Browserify または Webpack に切り替えることを考えましたが、それらがより高速なソリューションになるという実際の証拠は見つかりませんでした。
編集:私のビルド構成は以下の通りです:
javascript - requirejs オプティマイザーはモジュール名のみを定義するだけです
js ファイルのモジュール名を作成/定義するためだけに、requirejs オプティマイザを使用したいと考えています。
例:modules/moduleAの下にtest.jsというファイルがある場合
パスに基づいてrequirejsオプティマイザーにモジュール名だけを作成してもらいたい...たとえば、以下では、requirejsオプティマイザーにモジュール名modules/moduleA/testを作成させ、test.jsに存在する定義内に配置してもらいたい
例: requireJS オプティマイザーを実行する前に
test.js コンテンツ:
requirejs オプティマイザーの実行後
test.js コンテンツ
関連する依存ファイルを後で grunt を使用して結合する処理を行います...しかし、requirejs オプティマイザーが各ファイルにアクセスし、それが提示するパスに基づいてモジュール名を提供するようにします。
これは実現可能ですか?
mysql - クエリの最適化、多数のテーブルからの選択
4 つのテーブルを結合する SQL スクリプトがあります。私は多くのAND
操作を使用しています。このスクリプトを最適化する方法はありますか?