Chủ Nhật, 20 tháng 4, 2014

Giới thiệu browserify và tổ chức module trong javascript



BrowserifyNew way to build your javascript snippet & api

Bạn đã từng quen thuộc với nodejs và thích cách gọi các module với hàm require(), nhưng anh ấy chỉ hỗ trợ viết app phía server thôi J. Với browserify bạn sẽ tiếp cận được với hàm require() phía client, nó cho phép bạn có thể sử dụng các module từ npm mà đã được compile cho browser. Hoặc có thể đơn giản trong việc tổ chức module cho app của mình (requirejs là một thằng thay thế).
Ví dụ đơn giản trước nhé, nói nhiều mất công nhanh chán J
Cấu trúc app đơn giản nhé:
/app
main.js
                helper.js

helper.js
module.exports = {
                timeToHumanDate: function(time) {
                                // Format timestamp to time which human can read
},
capitalize: function(str) {
               
}
}

Mình định nghĩa module helper theo style của nodejs, trả về một object với 2 function timeToHumanDate và capitalize như trên

main.js
var helper = require(‘helper’);

var time = Date.now(),
                humanDate = helper.timeToHumanDate(time);

document.write(time);

Thực hiện require module helper vừa mới định nghĩa ở trên var helper = require(‘helper’);
Trong file main.js mình sẽ sử dụng helper để format timestamp với hàm helper.timeToHumanDate() và in nó ra trình duyệt document.write(time);

Cực kì đơn giản ^^ và cuối cùng là build code: browserify main.js -o build.js chúng ta sẽ được file build.js, và chỉ đơn giản là sử dụng file này gắn vào trang html của bạn mà thôi.

Ví dụ là vậy thôi, cũng chỉ mới là giới thiệu và đọc xem như thế nào, để test thử ví dụ đó trước hết bạn cần cài đặt browserify trước đã: npm install -g browserify

Bạn có  thể tham khảo thêm tại đây: http://browserify.org/
Bài tiếp theo mình sẽ giới thiệu build một js api với template html + underscorejs