“Hello World!” app with Node.js and Express
Bạn có sử dụng Node.js chưa…? Bạn sẽ sử dụng thôi ?
Bài viết này dành cho những bạn mới bước vào con đường lập trình viên và bất kỳ ai hứng thú việc nghiên cứu và phát triển ứng dụng bằng Node.js. Trước khi đi sâu vào bài viết này, bạn nên trang bị sẵn các kiến thức nền tảng về Javascript để biết các khái niệm cơ bản của ngôn ngữ.
Node.js là gì?
Sách giáo khoa định nghĩa (Wikipedia): “Node.js là một nền tảng dựng trên trình biên dịch Google Chrome V8 JavaScript, một nền tảng các lớp trừu tượng và một thư viện lõi, được viết chính bằng JavaScript”
Có thể bạn sẽ cảm thấy khó hiểu, hãy để tôi làm rõ. Một cách đơn giản, NodeJs cho phép bạn viết server side bằng ngôn ngữ Javascript. Bạn có thể sẽ hỏi, làm cách nào? Như bạn cũng đã biết, Javascript là một ngôn ngữ chạy trong trình duyệt. Trình duyệt sẽ đọc mã Javascript và biên dịch thành các lệnh. Cha đẻ của NodeJs đã lấy Chrome engine và xây dựng NodeJs, cho phép chạy trên server. Thực chất NodeJs là một môi trường nơi mà code Javascript có thể chạy được. Và cái mà chúng ta có ở đây là viết Javascript ở phía Back-End.
Có một khái niệm, có thể bạn sẽ thắc mắc đó là bất đồng bộ (asynchronous). Bản chất Javascript là đơn luồng, nghĩa là chỉ có một luồng đang thực thi. Vì thế, bạn không muốn các sự kiện khác ngắt luồng chính của việc thực thi. Đây chính là ý nghĩa của bất đồng bộ, xử lý sự kiện mà không làm dừng luồng chính. NodeJs được xây dựng trên cơ chế non-blocking, làm cho nó trở thành một trong những công cụ nhanh nhất để xây dựng các ứng dụng web hiện nay. Trong ví dụ “Hello World” sau, sẽ có nhiều kết nối được xử lý đồng thời. Mỗi khi có kết nối, hàm callback sẽ được kích hoạt để xử lý.
Giờ thì bắt tay xây dựng ứng dụng “Hello World!” qua 6 bước đơn giản cùng tôi nào.
1. Cài đặt Node.js
Bước đầu tiên bạn cần phải cài đặt NodeJs trên máy tính của mình. Truy cập trang chủ nodejs.org và chọn mục download. Ứng với mỗi hệ điều hành sẽ có một bản cài riêng. Làm theo từng bước hướng dẫn, những công cụ cần thiết để xây dựng một server chạy trên máy của bạn sẽ được cài đặt đầy đủ.
2. Mở command prompt và nhập
1 2 |
mkdir myapp cd myapp |
Đây là những câu lệnh tạo thư mục myapp và truy cập vào vào thư mục myapp.
3. Khởi tạo dự án và liên kết với NPM
Đây mới là điều thú vị nhất để bắt đầu một ứng dụng NodeJs. Sau khi tạo thư mục có tên là myapp, chúng ta phải khởi tạo và liên kết nó với npm.
NPM là gì vậy? NPM là viết tắt của Node Package Manager. Đây là nơi chứa tất cả các thư viện của NodeJs. Các thư viện sẽ được đóng gói thành từng module, sẽ đảm nhiệm những nhiệm vụ, tính năng cụ thể. Các chức năng này là những gì mà lập trình viên khác đã làm, và được đưa lên npm, chúng ta sử dụng thông qua API. Chúng ta chỉ cần quan tâm tới input (đầu vào) và output (đầu ra) của module mà thôi.
(tìm hiểu thêm API là gì: https://medium.freecodecamp.com/what-is-an-api-in-english-please-b880a3214a82. Npm là gì: https://www.npmjs.com/)
Chạy đoạn command sau để khởi tạo dự án:
npm init
Sau khi chạy lệnh này, một file package.json sẽ được tạo trong thư mục myapp. File này sẽ chứa thông tin các gói npm mà chúng ta cần phải cài đặt cho ứng dụng của mình. Khi chạy command này, bạn sẽ được hỏi một số thông tin.
Bạn có thể nhấn Enter cho tất cả, trừ mục thông tin sau:
1 |
entry point: (index.js) |
Bạn sẽ nên chuyển thành:
1 |
app.js |
4. Cài đặt Express
(Tìm hiểu thêm về Express: http://expressjs.com/)
Khi đang ở trong thư mục myapp ta chạy câu lệnh:
1 |
npm install express --save |
Câu lệnh install sẽ tìm thư viện mà bạn muốn cài đặt (trong file package.json) và cái đặt vào ứng dụng. Bây giờ bạn có thể thấy có một thư mục mới có tên là node_modules được tạo ra. Tất cả những thư viên vừa cài sẽ nằm trong thư mục này. Đây là một bước quan trọng, với tùy chọn –save sẽ lưu thông tin vào file package.json.
Yeah, và tôi biết bạn đang thắc mắc điều gì. Vậy cụ thể Express là gì? Một dịch vụ gửi mail, hay là gì đó tương tự. Hoàn toàn không phải, mà Express là một Framework linh hoạt được xây dựng trên nền tảng của Nodejs. Nó cung cấp các tính năng mạnh mẽ để phát triển các ứng dụng web hoặc mobile.
“Fast, unopinionated, minimalist web framework for Node.js” — Taken from Express.js’ official website
Express đã trở nên rất phổ biến, là tiêu chuẩn để tạo ra những ứng dụng chạy trên NodeJs. Tôi khuyến khích bạn nên sử dụng Express.
5. Tạo một file có tên là app.js và bắt đầu code
Nội dung của file app.js
1 2 3 4 5 6 7 8 |
var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('Hello World!'); }); app.listen(3000, function () { console.log('Example app listening on port 3000!'); }); |
Đây là file mà bạn sẽ phải sử dụng những package vừa cài đặt. Dòng đầu tiên khai báo một biến đại diện cho express, được lấy từ thư mục node_modules. Module express thực chất là một fuction. Gán function này cho một biến, sau đó ta có thể truy cập vào các hàm khác bên trong express một cách dễ dàng hơn. Ta có thể xem biến app này như một đối tượng, có những phương thức dùng để xây dựng chương trình thực tế.
Phương thức start() và listen() trên cổng 3000 cho tất cả connections. Nó sẽ trả về “Hello World!” cho những request thông qua URL mặc định (/). Với những đường dẫn khác, nó sẽ trả về 404 Not Found.
6. Chạy ứng dụng
1 |
node app.js |
Chạy dòng lệnh trên, sau đó tại trình duyệt, nhập vào địa chỉ http://localhost:3000/, và kiểm tra kết quả. Bạn cũng sẽ thấy “Example app listening on port 3000!” cũng được ghi lại trong command line.
Ứng dụng bạn vừa hoàn thành sẽ có cấu trúc thư mục như sau
Tất cả chỉ cần như thế, bạn đã hoàn thành. Bạn đã tạo thành công ứng dụng Node.js đầu tiên. Đừng dừng lại ở đây, tiếp tục khám phá thế giới tuyệt vời của Node.js các bạn nhé. Happy coding 🙂
Nếu bạn thích bài viết này, hãy nhấp vào nút Like hoặc Share bên dưới để bạn bè cùng tham khảo nha!
Tham khảo: https://medium.com/@adnanrahic/hello-world-app-with-node-js-and-express-c1eb7cfa8a30
Hà Nguyễn – JANETO
TRUNG TÂM ĐÀO TẠO LẬP TRÌNH VIÊN JANETO
0933067997 – 0933267337
facebook.com/laptrinhvienio
YouTube/laptrinhvienio
tuyensinh@laptrinhvien.io
Tầng 2 Tòa nhà The Morning Star – 57 Quốc Lộ 13, Phường 26, Quận Bình Thạnh, Tp. Hồ Chí Minh.


