Lập trình AngularJS phía server với Node.js
Bài đăng này đã không được cập nhật trong 7 năm
1. Node.js là gì? Node.js là 1 nền tảng (platform) chạy trên môi trường V8 Javascript runtime. Node.js cho phép lập trình viên xây dựng các ứng dụng có tính mở rộng cao sử dụng Javascript trên server. Và vì được porting từ C nên về mặt tốc độ xử lý thì khá nhanh. 2. Node.js có thể làm được những gì? - Xây dựng websocket server (Chat server) - Ứng dụng upload file rất nhanh trên client - Ad server - Hoặc bất kỳ ứng dụng dữ liệu thời gian thực nào. Nodejs không phải là một web framework.Nó không dành cho người mới bắt đầu, không phải là một nền tảng thực thi các tác vụ đa luồng. 3. Block code và Non-block code Ví dụ xây dựng chức năng đọc file và in ra dữ liệu của file. Logic Đọc file từ Filesystem, gán dữ liệu tương ứng với biến "contents" In dữ liệu biến "content" Thực hiện công việc khác tiếp theo. Non-block code: Đọc file từ Filesystem Sau khi đọc xong thì in dữ liệu (callback) Thực hiện công việc khác tiếp theo. Block code:
var contents = fs.readFileSync('hello.txt'); // Dừng cho đến khi đọc
xong file.
console.log(contents);
console.log('Thực hiện công việc khác');
Non-block code:
fs.readFile('hello.txt', function(contents){
console.log(contents);
});
console.log('Thực hiện công việc khác');
Ta có thể thấy ở đây, tốc độ xử lý của non-block code là cao hơn so với block code. Giả sử bạn thực hiện công việc trên ở 2 file trở lên thì tốc dộ xử lý của Non-block code sẽ nhanh hơn Block code rất nhiều.
4. Ứng dụng đầu tiên hello.js
var http = require('http'); // đây là cách chúng ta require các modules
http.createServer(function(request, response){
response.writeHead(200, {'Content-Type':'text/plain'}); // Status
code và content type
response.write("Xin chào lập trình viên!"); // Thông điệp được gửi
xuống client.
response.end(); // Đóng kết nối
}).listen(3000); // Chờ kết nối ở cổng 3000.
console.log("Server đang chờ kết nối tại cổng 3000");
Chạy server: node hello hoặc node hello.js --> Server đang chờ kết nối tại cổng 3000
Mở trình duyệt và truy cập tới địa chỉ
http://localhost:3000
All rights reserved