node.js和浏览器javascript中的通用模块

我正在开发一个node.js应用程序,并且我想在客户端使用我为node.js服务器创build的模块。

一个示例模块是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目录中使用相同的文件?

这似乎是如何做一个模块,你可以在客户端使用。

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'); 

Browserify

Browserify

它神奇地让你这样做。

Webmake被做成将CommonJS / NodeJS模块移植到浏览器。 试一试