問題タブ [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 投票する
3 に答える
10010 参照

javascript - CommonJS - jquery と jquery-plugin を $ 名前空間に結合するにはどうすればよいですか

私がやろうとしているのは、jQuery プラグインを Node.js 上の jQuery で動作するように適合させることです。

私が理解していることから、最も基本的な形式の CommonJS では、ライブラリをクロージャーでラップする必要があり、そのクロージャーは「エクスポート」パラメーターのパラメーターとして使用できるようにする必要があります。そうすれば、コードは (名前付き変数を介して) 独自の名前空間にきちんと含まれ、グローバル名前空間を汚染しません。

jQuery 自体は '$' 名前空間に含まれる必要があります。

アラ:

しかし、私のプラグインは '$' 名前空間にも収まるはずです。

プラグイン コード:

元:

モジュールが「$」のサブ名前空間 (つまり「$.csv」) として設定されていても、ブラウザーで動作するように、すべてが「$」名前空間から呼び出せるように設定されています。

単一の名前空間で複数の require を行う標準的な方法はありますか? そうでない場合、実行可能な代替手段はありますか (プラグイン コードの浅いコピーを行うなど)?

注: 匿名関数ラッパーは、標準の jquery ガイドラインに従います。

注: この修正は、jquery-csvプラグインに適用されます。

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

node.js - HTML をきれいに印刷するためのモジュール?

私は、URL にヒットし、出力を静的 HTML ファイルに書き込む grunt ビルド ファイルに取り組んでいます。ヒットしている URL には圧縮された HTML が含まれており、静的ファイルに書き込む前にきれいに印刷したいと考えています。これを行うための適切なモジュールはありますか? 私は周りを見回しましたが、Max Ogden の html prettyprinter が私の最も近いオプションのようです (https://github.com/maxogden/commonjs-html-prettyprinter)。たぶん、それをgrunt-shellタスクか何かと組み合わせたら?本当に私は単にモジュールを必要とし、pretty(my-file.html) と言ってから fs を使用してそれを書きたいと思っていますが、これまでのところ、それはとらえどころのないことが証明されています。

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

firefox - Firefox のモジュール間でのオブジェクトの永続性

Firefox のアドオン SDK (v1.10) で動作する拡張機能を開発しました。現在、バックグラウンド ページ (デフォルトでは「main.js」と呼ばれる) に格納されているコードをさらにモジュール化しようとしています。

問題

フリーズしていない SDK モジュールを作成する方法はありますか? モジュールが別のモジュールに 'required()' (ロード) されたときに、それ自体に保持され、他のモジュールからアクセスできるデータを含むモジュールを作成する必要があります。

現時点では、Firefox の設定またはローカル ストレージのいずれかを使用して、必要なオブジェクトの状態をモジュール間で保持することにより、これを実現しています。ただし、この方法は「ハック」方法であり、より良い方法があるはずです。

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

javascript - Javascript クライアント/サーバー モジュールの規約

クライアントとサーバーの両方で使用される Javascript ミドルウェア ライブラリを作成するための規則はありますか?

データ抽象化レイヤーがあるとします。それをJEFRiと呼びましょう。DAL を使用するアプリケーションのすべての部分が同じ実装、API などを参照できるように、JEFRi ランタイムはクライアントとサーバーの両方で同じように実行する必要があります。JEFRi には依存関係 (特にアンダースコア) があり、依存するサブモジュールがあります。それ (Mongo ストレージ、LocalStore ストレージ)。

ブラウザとノード間で最も簡単なコード共有を可能にするために使用できる最も直接的なパターンは何ですか?

そうすべき:

  • NPM を使用してサーバーにインストール可能であること
  • require()CommonJS呼び出しを使用してサーバーにロード可能
  • ender、bower、npm のいずれかを使用してブラウザー プロジェクトにインストール可能であること
  • ファイル内にライブラリの依存関係を持たない .min.js をコピーすることで、ブラウザ プロジェクトにインストールできるようにします。
  • タグを使用してページにロード可能にする<script>(およびグローバル スコープに登録する)
  • define()AMDとrequire()呼び出しを使用してページにロード可能

必要に応じて r.js を呼び出すなど、任意の数のビルド ステップが許容されます。

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

node.js - node.js 良い継承方法

これは良いコードと見なされますか? よりクリーンな/より良い方法はありますか? そのため、子クラスは、ストレージ メカニズムから実際にデータを取得する方法について何も知りません。これらのメソッドを使用して機能を構成できるようにするだけです。

base.js

child.js

test.js

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

javascript - Titanium design advice

While learning Appcelerator Titanium, I'm building an app that starts with a Window that contains 2 labels. The two labels (onclick) should open 2 different Windows (each containing tabgroups).

So, in my app.js I have:

and in my ApplicationWindow function:

The first question is: is this a good design? Is it improvable? How?

The second question is: is there a way to show the page I'm opening before the end of the transition? At the moment it seems the JS contained in A.js and B.js is executed only when the animation stops.

Thanks, any help is welcome and sorry for the newbie question.

[EDIT] This is my current code after Ch4rAss's comment:

and:

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

backbone.js - require.js を使用する 1 つの Backbone.js アプリが別のアプリに依存しています: 子を含めるにはどうすればよいですか?

私は、require.js を使用し、models/、collections/ などで分割された backbone.js アプリを作成しました。次に、最初のアプリに依存する別のアプリを作成しました (および他のいくつかのもの。ファイルは次のようにレイアウトされています。

appA を要求するには、needsA に何を入れますか? 以下は私には論理的に思えますが、機能しません。../../appA を使用すると、appA が見つかりますが、ルートが間違っているため、IT の依存関係が見つかりません。

0 投票する
6 に答える
10457 参照

javascript - CommonJSとAMDの両方をサポート

次のすべてのモジュール形式をサポートするjavascriptマイクロライブラリ(依存関係のないライブラリ)を作成する方法はありますか?

  • 非同期モジュールの定義
  • CommonJS
  • ライブラリのエクスポートをグローバル名前空間オブジェクト(ローダーなし)として公開する
0 投票する
1 に答える
84 参照

javascript - coffee -cj は各クラスの module.exports を上書きします

私はこれがどのように機能するかについて頭を悩ませることができません.CoffeeScriptでクラス/モジュールを定義するかなり一般的な方法module.exports = class MyClassは、ファイルの先頭で使用することです。また、コーヒー コンパイラがこのパターンを容易にするだろうと推測します。このミニマリストの例を見てみましょう:

次に、2 つをコンパイルして結合します。

結果は all.js で、モジュールごとに module.exports が再定義/上書きされます。

ここでこれを実行しようとすると、Foo モジュールが見つからないというエラーが表示されます。これは、最後のモジュール (ここでは Bar) がそれ自体のみを含むように module.exports を再定義しているためです。

これは非常に初歩的な質問だと思いますが、どこにも良い答えが得られないようです。

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

javascript - CommonJS の require 関数が非同期でないのはなぜですか?

CommonJS モジュールをロードしている間require、同期のステートメントを使用します。しかし、モジュールをロードするのに、ディスクからそれらを読み取って解釈する必要はありません。では、非ブロッキング I/O を提唱しているセットアップでは、require 同期はどのように行われるのでしょうか?

アップデート:

私はクライアントで requireJS を見たり使用したりしており、その非同期の性質を高く評価できます。私が知りたいのは、サーバーでこの種のことを行うことが広まっていない理由です (requireJS を Node で使用できることは知っていますが、それは重要ではありません)。

また、コード内でモジュールのインライン化を要求するとコードがブロックされるかどうか、およびこれが悪い習慣であり回避する必要があるかどうかも知りたいです。