2011-09-06 26 views
29

Tôi đang phát triển một ứng dụng node.js và tôi muốn sử dụng một mô-đun mà tôi đang tạo cho máy chủ node.js cũng ở phía máy khách.Mô-đun chung trong node.js và javascript của trình duyệt

Một module ví dụ sẽ là circle.js:

var PI = Math.PI; 

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

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

và bạn làm một đơn giản

var circle = require('./circle') 

sử dụng nó trong nút.

Làm cách nào để sử dụng cùng một tệp trong thư mục web cho javascript phía máy khách của tôi?

+2

Sử dụng trình duyệtify – Raynos

Trả lời

19

Browserify

Browserify

Nó kỳ diệu cho phép bạn làm điều đó.

+1

Không chắc chắn cách thực sự được sử dụng để thực hiện những gì tôi đang tìm kiếm. Có vẻ như để giải quyết một số vấn đề khác. – RobKohr

+0

xin lỗi, liên kết sai: https://github.com/substack/node-browserify – generalhenry

+3

nó đẹp nhưng mã được tạo là omg ... – Charles

45

Điều này dường như là cách tạo mô-đun cho một thứ mà bạn có thể sử dụng ở phía máy khách.

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

Và sau đó sử dụng các mô-đun trên máy khách:

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

Mã này sẽ làm việc trong nút:

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

Hoàn hảo. Rất đẹp. – ChrisCantrell

+0

Liên kết đã chết ... – RedShift

2

Webmake được thực hiện để chuyển các mô đun CommonJS/NodeJS sang trình duyệt. Hãy thử xem

Các vấn đề liên quan