2011-09-06 8 views
29

私はnode.jsアプリケーションを開発しています。クライアント側でもnode.jsサーバー用に作成しているモジュールを使用したいと思います。node.jsとブラウザjavascriptの共通モジュール

例のモジュールは、circle.jsを次のようになります。

var PI = Math.PI; 

exports.area = function (r) { 
    return PI * r * r; 
}; 

exports.circumference = function (r) { 
    return 2 * PI * r; 
}; 

、あなたはノードでそれを使用する簡単な

var circle = require('./circle') 

を行います。

クライアントディレクトリのjavascriptのWebディレクトリで、同じファイルをどのように使用できますか?

+2

browserifyを使用 – Raynos

答えて

19

Browserify

Browserify

それは魔法のようにあなたがそれを行うことができます。

+1

私が探していたことを実際にどのように使用しているか分かりません。それは他のいくつかの問題を解決するようです。 – RobKohr

+0

申し訳ありませんが、間違ったリンク:https://github.com/substack/node-browserify – generalhenry

+3

それは素晴らしいですが、生成されたコードは... – Charles

45

これは、クライアント側で使用できるモジュールを作成する方法です。

http://caolanmcmahon.com/posts/writing_for_node_and_the_browser

mymodule.js:

(function(exports){ 

    // your code goes here 

    exports.test = function(){ 
     return 'hello world' 
    }; 

})(typeof exports === 'undefined'? this['mymodule']={}: exports); 

そして、クライアント上でモジュールを使用するには:

このコードは、ノードに働くだろう
<script src="mymodule.js"></script> 
<script> 
    alert(mymodule.test()); 
</script> 

var mymodule = require('./mymodule'); 
+1

パーフェクト。非常に素晴らしい。 – ChrisCantrell

+0

リンクが死んでいる... – RedShift

2

Webmakeは、CommonJS/NodeJSモジュールをブラウザに移植するために作成されました。試してみてください

関連する問題