简体   繁体   中英

Common module in node.js and browser javascript

I am developing a node.js app, and I want to use a module I am creating for the node.js server also on the client side.

An example module would be circle.js:

var PI = Math.PI;

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

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

and you do a simple

var circle = require('./circle')

to use it in node.

How could I use that same file in the web directory for my client side javascript?

This seems to be how to make a module something you can use on the client side.

https://caolan.org/posts/writing_for_node_and_the_browser.html

mymodule.js:

(function(exports){

    // your code goes here

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

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

And then to use the module on the client:

<script src="mymodule.js"></script>
<script>
    alert(mymodule.test());
</script>

This code would work in node:

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

浏览器化

Browserify

It magically lets you do that.

Webmake was made to port CommonJS/NodeJS modules to browser. Give it a try

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM