Chào những bạn!

Cũng lâu rồi không viết bài mới trên site <div>
[IMG]//www.google.com/s2/favicons?domain=https%3A%2F%2Fwww.magebay.com[/IMG]
https://www.magebay.com/magento-multi-vendor-marketplace-extension</div>
, khoảng 4 tuần rồi, thôi thì cố viết lấy 1 bài mặc dầu khá bận rộn , để cho Google nó index . Bài viết đầu tiên của tháng 6 , mình xin viết về chủ đề NodeJS dành cho bạn nào là developer (Front-end hay Back-end đều được)

Mình xin nói qua chút về công nghệ NodeJS. Nó cũng ko còn mới mẻ gì nữa bởi vì mình cũng làm về NodeJS 2 năm rồi, ở Việt Nam thì đa phần những nhà phát triển thường lập trình với PHP, chiếm đến 95% nên NodeJS có thể hơi lạ lùng dù rằng ở nước ngoài thì nó quá phổ biến rồi.

NodeJS là gì? Có ăn được không?
NodeJS là mã nguồn phát triển bởi Ryan Dahl năm 2009 dựa trên bộ engine Google JavaScript V8, đây chính bộ engine xử lí JavaScript trên trình duyệt web Google Chrome giúp bạn có thể thực thi những đoạn mã JavaScript trên server giống như ngôn ngữ PHP, như các bạn cũng biết JavaScript là ngôn ngữ phía khách hàng nghĩa là nó được xử lí tại trình duyệt của người sử dụng nên khi được Di chuyển lên server xử lí nó cho vận tốc rất nhanh, qua thí nghiệm của mình thì nó nhanh hơn PHP tới 95%. Thật ấn tượng phải ko nào. tới đây chắc có nhiều bạn hỏi vậy thì để tạo một trang web động có cần tới PHP nữa không? Câu giải đáp là ko, website của bạn sẽ được viết hoàn toàn bằng JavaScript. Với sự hỗ trợ của các Framework như Express, Meteor, Ember,… bạn hoàn toàn có thể tạo ra một site động với vận tốc cực nhanh, vận dụng mô hình MVC tương tự như PHP, thậm chí bạn còn có thể viết vận dụng cho Android/IOS hoàn toàn bằng JavaScript (Nhờ Framework React Native, Meteor)

Chắc hẳn đối với các bạn developer PHP thì cũng đã làm nhiều về JavaScript rồi nên bắt đầu với NodeJS cũng không có gì khó lắm, nó chỉ thêm một số mô đun thôi. hiện thời mình sẽ hướng dẫn bạn setting NodeJS trên 2 hệ điều hành đó là Windows và Linux để bạn có thể tự học NodeJS

cài đặt trên Windows
setup NodeJS trên Windows (Xp/7/8/10) thì rất đơn giản thôi, bạn lên trang trủ NodeJS ( http://productsdesignerpro.com/ ) tải bộ cài cho Windows về, phiên bản mới nhất là 5.7.0. Sau khi download về setup nó như một phần mềm bình thường thôi, mình ko chỉ dẫn ở đây vì quá đơn giản rồi. Sau khi setting xong, bạn mở Command Prompt của Windows lên (Nhấn Windows + R) sau đó gõ cmd và Enter, giao diện dòng lệnh của Windows sẽ sinh ra, bạn gõ lệnh node – v, nếu nó xuất hiện version của NodeJS là 5.7.0 thì bạn đã cài thắng lợi

setup NodeJS trên Linux (Ubuntu/Debian/CentOS)


Tạo webserver đơn giản
Đi kèm với NodeJS có một mô đun http giúp bạn dễ tạo một webserver ảo, trước tiên mình chỉ dẫn trên Windows

Trên Windows bạn mở ổ C ra tạo một thư mục là nodejs sau đó tạo một file trong thư mục này tên là server.js

Mở lên gõ đoạn code sau vào và lưu lại:



Mở trình duyệt lên gõ 127.0.0.1:1337 và bạn sẽ thấy dòng chữ Hello Word hình thành

tương tự trên Linux, bạn cũng tạo ra một folder là Nodejs và tạo ra 2 file server.js và index.html giống như trên windows, có điều sửa lại file server.js, chỗ listen sửa 127.0.0.1 thành Ip Public của VPS của bạn ví dụ:



Mở trình duyệt web lên gõ IP_VPS:1337 và bạn sẽ thấy dòng chữ Hello Word hình thành

Mình xin giải thích về đoạn code trong file server.js như sau:

đầu tiên ta import module http của NodeJS để có thể tạo ra webserver, tiếp ta import mô đun fs (File System) để có thể đọc được file index.html bên ngoài

Tiếp đến, ta gọi phương thức createServer() để tạo webserver, nó chấp nhận 2 thông số request, respone (request chứa các thông tin người sử dụng đòi hỏi và respone để trả về thông báo cho người dùng)

Phương thức respone.writeHead sẽ set header thông tin trả về sẽ ở dạng text/html và mã 200 là mã trạng thái báo cáo kết nối thắng lợi. Phương thức respone.write() sẽ trả về thông tin cho người dùng, nó lấy dữ liệu từ biến index được đọc từ file index.html. Phương thức respone.end() để chấm dứt. cuối cùng phương thức listen để thiết lập webserver hấng dữ liệu trên cổng 1337(cổng mặc định của NodeJS, bạn có thể để port tuỳ thích miễn không trùng với các port đang được hệ thống sử dụng).

Bài đầu tiên về NodeJS mình chỉ nói tới đây thôi, gần tới sẽ viết thêm một loạt bài về NodeJS, các bạn nhớ truy cập thường xuyên để xem nhé

Chúc cả nhà thành công!

NodeJS thì thực chất cũng là JavaScript mà thôi nên nếu muốn làm tốt về NodeJS thì bạn phải thông suốt về JavaScript, do đó mình xin gửi tặng bạn cuốn JavaScript toàn tập A-Z để bạn học và tập dượt, nhập thông tin vào form bên dưới và mình sẽ gửi nó vào email cho bạn!