NodeJS là gì ?
NodeJS là một mã nguồn được xây dựng dựa trên nền tảng Javascript V8 Engine. Nó được xây dựng để chạy trên server.
Javascript là một ngôn ngữ hướng sự kiện, do đó bất cứ điều gì xảy ra trên server đều tạo ra một sự kiện non-blocking, do vậy nên 1 website sử dụng NodeJS có thể đáp ứng được việc truy cập cùng lúc một lượng user cực kì lớn.
Vậy NodeJS thích hợp để làm gì. Với các đặc trưng của mình thì NodeJS thích hợp để xây dựng các ứng dụng thời gian thực, ví dụ như hệ thống chat online hoặc hệ thông thông báo…
Lợi ích của framework Express
Cài đặt NodeJS và framework Express
Bài viết sẽ hướng dẫn cài đặt trên môi trường linux (ubuntu).
Cài đặt NodeJS
apt-get install nodejs
Cài đặt NPM:
apt-get install npmCài đặt xong 2 gói trên, gõ lệnh
để kiểm tra version của các gói tương ứng. Tiếp theo, tạo thư mục expressjs và khởi tạo project
mkdir /var/www/expressjs cd /var/www/expressjs npm init
Điền các thông tin tương ứng (name, version, description …) mà trình cài đặt yêu cầu hoặc enter để bỏ qua nếu bạn thấy nó đã phù hợp, cuối cùng chọn yes để kết thúc. Thực hiện tiếp các lệnh
npm install express --save npm install express npm install express-generator -g cd /var/www/ express expressjs cd expressjs npm installVậy là xong phần cài đặt, giờ hãy thử chạy lệnh sau
nodejs /var/www/expressjs/bin/wwwvà mở trình duyệt truy cập http://localhost:3000/ bạn sẽ thấy
Express Welcome to ExpressVậy là chúng ta đã hoàn thành cài đặt Express framework, giờ hãy xem qua các thư mục một chút.
bin: Thư mục này chứa các file khởi tạo ứng dụng của bạn, mặc định khi cài đặt sẽ chứa file www, là file mà các bạn chạy lệnh phía trên để khởi tạo ứng dụng.
node_modules: chứa core framework và các thư viện trên nền NodeJS
public: chứa các file css, javascript và ảnh.
routes: định nghĩa url và method.
views: định nghĩa các màn hình.
app.js: là một file quan trọng, có nhiệm vụ kết nối tất cả mọi thứ để ứng dụng có thể chạy một cách chính xác.
package.json: file định nghĩa các module.
Xây dựng ứng dụng chat đơn giản
Để xây dựng ứng dụng chat chúng ta cần cài thêm socket.io, các bạn chạy lệnh phía dưới
cd /var/www/expressjs npm install --save socket.io npm installtrong thư mục expressjs tạo file chúng tôi và chat.html, nội dung 2 file như sau
chat.js
var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function(req, res){ res.sendFile(__dirname + '/chat.html'); }); io.on('connection', function(socket){ socket.on('chat message', function(msg){ io.emit('chat message', msg); }); }); http.listen(3000, function(){ console.log('listening on *:3000'); });
chat.html
* { margin: 0; padding: 0; box-sizing: border-box; } body { font: 13px Helvetica, Arial; } form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; } form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; } form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; } #messages { list-style-type: none; margin: 0; padding: 0; } #messages li { padding: 5px 10px; } #messages li:nth-child(odd) { background: #eee; } var socket = io(); $(‘form’).submit(function () { socket.emit(‘chat message’, $(‘#m’).val()); $(‘#m’).val(”); return false; }); socket.on(‘chat message’, function (msg) { });
Sau khi hoàn tất, hãy thử chạy lệnh
nodejs /var/www/expressjs/chat.jsNếu có thông báo
listening on *:3000tức là ứng dụng đã được khởi tạo, giờ hãy mở 2 trình duyệt, truy cập localhost:3000 và kiểm tra kết quả xem sao.
Kết luận
Sau bài này, bạn đã hiểu được cách thức hoạt động của NodeJS và framework Express khá mạnh mẽ của NodeJS.
Lợi ích của framework luôn là giúp code dễ dàng hơn, cải thiện được chất lượng hiệu suất của ứng dụng.
Framework Express đã đáp ứng được hết những điều người developer cần để có thể phát triển, mở rộng ứng dụng.Và chúng ta có thể tham khảo qua bài viết Từng bước tạo RESTful API với chúng tôi , Express, MySQL