問題タブ [commonjs]

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 投票する
1 に答える
2308 参照

javascript - ステートフル シングルトン モジュール

ステートフルな Node.js モジュールを用意できますか? お気に入り:

require状態は複数の呼び出しに耐えられますか? それとも、そのために単純なグローバル オブジェクトを使用する必要がありますか?

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

javascript - javascriptでrequirejsやcommonjsモジュールのようなAMDを使用する利点は何ですか?

Javascript で CommonJS スタイルに従う RequireJS やモジュール ローダーなどの AMD ソリューションに関する記事をたくさん読みました。

この部分に分割されたアプリがあるとしましょう:

  • 私が使用するフレームワークに依存するアプリ定義
  • アプリの定義とフレームワークに依存するモデル 1
  • アプリの定義に依存するモデル 2、モデル 1 と私のフレームワーク

各パーツを RequireJS モジュールまたは一般的な JS モジュールとして記述し、プロジェクトを必要な数のファイルに分割することもできますが、各パーツをモジュールとして記述したり、多くのファイルに分割したりして、正しい順序でロードする利点は何ですか (依存関係の問題を回避するために) HTTP リクエストを減らすために (r.js オプティマイザーによって行われるように) すべてのファイルを大きなファイルに連結する可能性がありますか?

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

javascript - commonJSAMDモジュールで条件付きでコードが必要

FirefoxとChrome用のクロスブラウザ拡張機能を作成しようとしています。FirefoxはcommonJS仕様を使用し、ChromeはすべてをWebページのようにグローバル名前空間にまとめます。

再利用可能なコードを記述できるようにするために、requireJSを使用してChrome拡張機能のコードを検索しようとしています。これにより、commonJSモジュールを記述して、両方の環境で動作させることができます。

条件付きでモジュールを必要とするときに問題が発生します。たとえば、Firefoxはsimple-storage、ローカルストレージへのアクセスに使用する必要があるモジュールへのアクセスを提供します。Chromeでは、彼らが提供するlocalStorageAPIを使用する必要があります。だから、私はこれをやろうとしてきました:

ただし、これは機能していないようです。Chrome拡張機能を読み込もうとすると、次のエラーが発生します。

Chromeエラー

フォールバック付きのモジュールを要求するより良い方法はありますか?

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

javascript - 最小限の CommonJS 実装

CommonJSいくつかのスクリプトで準拠モジュールを使用したいと考えています。これらのスクリプトは、私のラップトップで何かを実行するためだけのものです。ブラウザにはありませんし、実際にはサーバーにもありません。mongodbローカルで使用する a を操作するだけです。

それで、それを行うための最良の方法は何ですか?CommonJS 機能とmongo シェルを提供する古いラッパーしか見つかりませんでした。

システムをハンドコーディングする必要がありrequireますか? 回避策をハンドコーディングする必要がありますか? 最小限のローダーが既に存在しますか?

この問題に関するあなたのすべてのアイデアは、確かに高く評価されます。

CommonJS の他の部分の実装へのポインタも高く評価されます。

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

commonjs - CommonJS モジュール getter の作成方法

私は Titanium を使用していますが、この質問は CommonJS に関連しています。モジュールを作成しようとしていますが、変数のゲッターも必要です。

私は私の頭の中ですべてがはっきりしていないことを認めます.titaniumとcommonjsを扱うのは初めてです.何か読むものを教えてください.

これは私のコードです:

Picker.js

List.js

しかし、猫の値を出力すると、0ではなく未定義になります...どこが間違っていますか?

ありがとうございました!!

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

javascript - CommonJS 機能を必要とする JavaScript をネイティブ Java にコンパイルする

CommonJS API (require()) をネイティブ Java コードに実装する JavaScript ファイルのコンパイルを試みた/運が良かった人がいるかどうか疑問に思っていました。

私は現在、これと同様のテキスト エディタを使用して構築しているサイトを持っています。これは、stackoverflow オープンソース (WMD エディタのポート) です: http://code.google.com/p/pagedown/

このプロジェクトには、エディタのマークアップ言語をサニタイズして有効な HTML に変換する JavaScript ファイルがいくつか付属しています。

Rhino 1.7R4 を少しいじってみたところ、実行時に JavaScript ファイル/モジュールをロードすることができ、require 関数をいつでも実行できるようになりました。

ただし、これらのスクリプトをネイティブ Java コードにプリコンパイルすることをお勧めします。このRhinoドキュメントに従って、CommonJS機能を使用しない単一のスクリプトをコンパイルすることができました:

https://developer.mozilla.org/en-US/docs/Rhino/JavaScript_Compiler

しかし、CommonJS 機能を実装する複数の依存スクリプトをコンパイルする正しい方法については途方に暮れており、Rhino 自体は十分に文書化されていません。

アイデアは、マークアップ変換とサニタイズのためのネイティブ Java コードを用意することであり、2 つの異なるコード ベースを作成/維持するための翻訳コストは必要ありません (JS を Java に変換するだけです)。

乾杯

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

javascript - Baseのプロトタイプをユーザーに割り当てるにはどうすればよいですか?

いくつかの一般的なメソッド(保存、更新など)を持つBaseオブジェクトを作成しようとしています。を使用してみましObject.create(Base)たが、で動作させる方法がわかりませんでしたmodule.exports

BaseをUserのプロトタイプとしてどのように割り当てますか?それとも私の目標を達成するためのより良い方法はありますか?

models / user.js

models / base.js

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

node.js - commonjsのjsdocには

nodejsでwebstormideを使用しています。モジュールを作成して必要な場合、コードを完成させることはできません。

例えば:

test.js

main.js

jsdoc3のドキュメントでモジュールの使用法についてはまだ何も見つかりませんでした。:S

0 投票する
4 に答える
99440 参照

typescript - module.exports in typescript

誰かがmodule.exportsのやり方を知っていますか?

私は最終的にいくつかの異なる方法を試しました

にコンパイルされます

しかし、私が本当に欲しいのはこれです:

私はこのようにそれを使用できるように:

そしてそうではない

これはTypescriptで可能ですか?

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

javascript - JavaScript モジュールのロードが必要な理由と、これらすべてのローダーの違いは何ですか?

質問 1 :

JavaScript ファイルを Web ページに非同期的にロードする必要があるのはなぜですか? サーバー側でその根拠を確認できますが、クライアントにロードする必要があるすべてのファイルを知っている場合、すべてのソース ファイルを 1 つのファイルに連結してページのロード時にロードしないのはなぜですか? すべての JS ファイルを取得する際の待ち時間が原因で、将来の操作が遅くなる可能性があるほど、最初の最初のページの読み込みが重要ですか?

質問 2 :

質問 1 に対する答えが、JS ファイルを個別にロードする必要があると仮定すると、次のようになります。

AMD は各 JS ファイルを非同期で読み込みますが、CommonJS は同期で読み込みます。CJS は、サーバー側の読み込みに必要です (Node.js のしくみは、私が間違っていなければそうです)。AMDは、クライアントにより適しているようです。したがって、クライアントで CJS を使用する唯一の理由は、サーバーとコードを共有することです。

AMD と CJS を適切に再生して、クライアントの JS ファイルを非同期にロードできるようにする方法はありますか?

(require.js は正確には何をするのでしょうか? 私は一生、彼らの Web サイトの行間を読むことはできません。)