2012-03-16 14 views
0

私は自分のクライアントが直接rmiのサーバにコマンドを送るためのjs libを書いています。これはうまくいきましたが、今は同じサーバーに接続するために少しのサーバーコードを書く必要があります。だから私はNode.jsを試してみたいしかし、私はいくつかの難しさがコンセプトをつかんでいる。nodejsでクライアントのjsコードを使用する方法

私のライブラリはbrouwser(chrome、firefox、ie)で動作しますが、Node.jsでも使用できます(小さなモチーフで)。そうすれば、ほぼ同じ2つのコードを保持する必要はありません。

あなたはネームスペースを宣言してそこにすべての機能を埋め込んでいます。 node.jsではファイルを読み込んで変数にエクスポートする変数を埋め込むのにrequireを使います。

たとえば、 './m4a.structure.js'はグローバルなm4a.structureを設定します。 './m4a.cmd.js'はその構造体を使用して(サーバーにstufを送信するプロキシとして機能する)メソッド群を生成します。最終的には、リクエストを送信して現金や物資を処理するためにjqueryにバインドする './jquery.m4a.initialize.js'があります。

最初の2つのファイルには、(1週間から1週間)急速に変化する情報が含まれていますので、ブラウザとNode.jsデーモンの両方のビットで利用可能な状態にしておきます。コースから最後のファイルは、私がそれを移植できない場合、私は気にしないだろう(そして、さらに期待している)そのために大きく、むしろブラウザ固有ではありません。

私は明確で、あなたが私を少し助けてくれることを願っています。

答えて

4

モジュールとして使用可能なモジュールを構築する最も簡単な方法です。 Node.jsのモジュールとブラウザにはこれです:

var Foo = function() { 
}; 

Foo.prototype.bar = function() { 
}; 

if(typeof exports !== 'undefined') { 
    // Node.js or similar 
    exports.Foo = Foo; 
} else { 
    // Browser -- this is window 
    this.Foo = Foo; 
} 
+1

アディOsmaniは、すべての異なるローダーのフレームワークについて素晴らしい記事](http://addyosmani.com/writing-modular-js/)を書いています。 –

+0

ありがとう..ダムこのjsは時々いいです。 :D – Bram

+0

ノードで 'this'はモジュールを参照するので、ブラウザの' this.Foo = Foo; 'で関数をエクスポートすることができます。 –

関連する問題