問題タブ [requirejs]
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.
javascript - JavaScriptモジュールをNodeJSとRequireJSの両方と互換性を持たせることは可能ですか?
私は、NodeJS require(明らかにNodeJSアプリ)とWebブラウザー環境用のRequireJSを使用して、NodeJSとブラウザーアプリケーション内でさまざまなモジュールの概念をどのように適用できるかを調査してきました。
その後、一部のモジュールはクライアントアプリケーションとサーバーアプリケーションの両方で使用できるため、再利用できる可能性があることに気づきました。
これらの環境の両方と互換性があるようにモジュールを開発するにはどうすればよいですか?
1つは同期で、もう1つは非同期です。私が最初に考えたのは、非同期構文を利用してから、非同期コールバックを同期的に呼び出すだけのNodeJSのカスタムモジュールを定義することでした。しかし、最初にNodeJS同期コールバックを使用せずに、RequireJSエミュレーターを相互環境モジュールに含めるにはどうすればよいでしょうか。
backbone.js - JavaScript MVC コードを AMD モジュールに編成するにはどうすればよいですか?
Backbone.js モデルとビューで構成される、さまざまな視覚化コンポーネントを使用して Web アプリケーションを構築しています。
たとえば、「PopulationVisualization コンポーネント」には次のようなものがあります。
- メイン モデル - コンポーネントの状態を保存する
- いくつかのバックボーン ビュー (timesliderView、legendView など) - モデルの変更をリッスンする
これらのコンポーネントはすべて、外部の dataManagers および dataSource オブジェクトに依存していますが、それ以外の場合は分離する必要があります。
特定のページで、PopulationVisualization コンポーネントのインスタンスをインスタンス化したいと考えています。また、そのコンポーネントのメイン モデルの変更をリッスンして、その状態を URL にシリアル化できるようにしたいと考えています。
1) AMD モジュール パターンを採用してみたら、これはどのように見えるでしょうか?
2) PopulationVisualization コンポーネントのモジュールを 1 つ作成しますか?それとも複数作成しますか?
3) モジュール レベルのメソッドを API として公開するか、それとも内部のモデルとビューを直接操作できるようにするか?
ありがとう。
javascript - 現在、RequireJSを使用したモジュールのロードをサポートしているJavaScriptフレームワークはどれですか?
私は現在MooToolsを使用していますが、RequireJSモジュールのロードを使用していくつかの開発を開始したいと思います。すぐに使用できるRequireJSモジュールのロードをサポートする他のフレームワークはありますか?Dojo 1.7の意志を聞いたことがありますが、まだ開発中です。他のオプションはありますか?ありがとう。
php - RequirejsはCDNからモジュールとしてjquery1.7をロードしません
モジュールとしてjQuery1.7をロードする必要があります。@jrburkeのこのコードを見ました:
すべての名前はサーバー側で生成されるため、あまり役に立ちません.js
。php-arrayから取得しました。
だから、私はこれを書いた:
ただし、$
この関数内ではnullです。
更新:
このページのjsスクリプトをレンダリングするphp-templateは次のとおりです。
そしてそれはこのページ(ページindex
)の私のphp-arrayです:
javascript - RequireJSが必要なスクリプトをキャッシュできないようにする
RequireJSは、必要なjavascriptファイルをキャッシュする何かを内部的に実行しているようです。必要なファイルの1つに変更を加えた場合、変更を適用するには、ファイルの名前を変更する必要があります。
ファイル名の最後にクエリ文字列パラメータとしてバージョン番号を追加する一般的なトリックは、requirejsでは機能しません<script src="jsfile.js?v2"></script>
私が探しているのは、スクリプトファイルが更新されるたびに名前を変更することなく、RequireJSに必要なスクリプトのこの内部キャッシュを防ぐ方法です。
クロスプラットフォームソリューション:
現在urlArgs: "bust=" + (new Date()).getTime()
、開発中の自動キャッシュバスティングとurlArgs: "bust=v2"
、更新された必要なスクリプトをロールアウトした後にハードコードされたバージョン番号をインクリメントする本番環境に使用しています。
ノート:
@Dustin Getzは最近の回答で、Javascriptファイルがこのように継続的に更新されると、ChromeDeveloperToolsがデバッグ中にブレークポイントをドロップすると述べています。回避策の1つはdebugger;
、ほとんどのJavascriptデバッガーでブレークポイントをトリガーするコードを記述することです。
サーバー固有のソリューション:
NodeやApacheなどのサーバー環境でより適切に機能する可能性のある特定のソリューションについては、以下の回答のいくつかを参照してください。
javascript - RequireJS ライブラリの定義の説明
RequireJS に関するいくつかのチュートリアルを読み始めました。それらのどれにも、私にとって十分に説明された「define」キーワードはありませんでした。誰かが次のことで私を助けてくれますか:
「定義する」とは?配列とその中に無名関数を含む関数を定義していますか? それとも別のものですか?この種の定義について詳しい情報を教えてもらえますか?
追加: nnnnnn と pradeek さん、回答ありがとうございます。ここヨーロッパでは、私が質問を投稿していたのは夜の 2 時 30 分でした。そのため、単純な関数呼び出しだと認識していなかったのかもしれません。
javascript - NodeJS および Javascript (requirejs) 依存性注入
現在、モジュールの js/css 依存関係を管理するために requirejs を使用しています。一元化された構成ファイルを介してノードにこれを実行させる可能性を発見したいと思います。したがって、次のようなことを手動で行う代わりに
各モジュール内。
ノードに依存関係を注入させます。
とにかく、ノードの依存性注入を検討しているプロジェクトに興味があります。
ありがとう
php - require.js によって非同期にロードされた Javascript の URL パラメータにアクセスするにはどうすればよいですか?
アプリケーションにモジュールをロードするために RequireJS を使用しています。index.php で取得した URL パラメーターをメイン モジュールに渡す必要があります。これを行うにはいくつかの方法がありますが、インデックス内の唯一のものがまだ本質的にこれである場合を好みます。
<script type="text/javascript" data-main="scripts/main" src ="scripts/require-jquery.js"></script>
RequireJS は最適化に適していると言っているからです。私の現在の回避策は、元の require 呼び出しをインデックス ファイルに配置し、そこから URL パラメーターを使用することです。より良い方法はありますか?
参考までに、私はサーバー側で PHP を使用しています。
javascript - RequireJSとJavaScriptAPI
ここからサンプルプロジェクトを使用しています。
サービスのクライアントにJavaScriptAPIを提供するために、モジュールから関数をエクスポートする必要があるとします。
しかし、私の.jsファイルの宣言はRequireJSの外には表示されません!
次のブロックをjquery-require-sample/webapp/app.htmlに追加します。
失敗します:Uncaught TypeError:Object[objectObject]にはメソッド'alpha'がありません。
私がやりたいことをすることは可能ですか?
backbone.js - RequireJsテキストプラグインがChromeでクロスオリジンエラーを発生させる
単純なhtmlでhtmlファイルをフェッチする非常に基本的なRequireJsコードがいくつかあります。Firefox 8.0では正常に動作しますが、私のビルドのChrome(17.0.9.xxx)では次のエラーが発生します。
クロスオリジンリクエストはHTTPでのみサポートされます。
これは、Chromeのこのビルドまたは一般的なテキストプラグインの問題でしょうか?
Requireがhtmlファイルをフェッチしようとするのは、エラーが発生したときです。