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
它神奇地让你这样做。
Webmake被做成将CommonJS / NodeJS模块移植到浏览器。 试一试