2011-09-06 13 views
29

Sto sviluppando un'app node.js e desidero utilizzare un modulo che sto creando per il server node.js anche dal lato client.Modulo comune in node.js e browser javascript

Un modulo esempio potrebbe essere circle.js:

var PI = Math.PI; 

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

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

e fare un semplice

var circle = require('./circle') 

di usarlo in nodo.

Come posso utilizzare lo stesso file nella directory Web per il mio lato client javascript?

+2

Utilizzare browserify – Raynos

risposta

19

Browserify

Browserify

Permette magicamente lo fai.

+1

Non so come sia effettivamente usato per fare ciò che stavo cercando. Sembra risolvere qualche altro problema. – RobKohr

+0

scusa, link errato: https://github.com/substack/node-browserify – generalhenry

+3

è bello ma il codice generato è omg ... – Charles

45

Questo sembra essere come rendere un modulo qualcosa che è possibile utilizzare sul lato client.

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

e quindi di utilizzare il modulo sul client:

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

Questo codice funzionerebbe in nodo:

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

Perfetto. Molto bella. – ChrisCantrell

+0

Link is dead ... – RedShift

2

Webmake è stato creato per portare i moduli CommonJS/NodeJS al browser. Provalo

Problemi correlati