Xem thêm

Xây dựng ứng dụng web với NodeJS + Express Framework + AngularJS - Phần 1

Huy Erick
Xin chào tất cả mọi người! Trong chuỗi series lần này, mình muốn giới thiệu với các bạn cách tạo ra một ứng dụng web sử dụng NodeJS kết hợp với AngularJS. Trong quá trình...

Xin chào tất cả mọi người! Trong chuỗi series lần này, mình muốn giới thiệu với các bạn cách tạo ra một ứng dụng web sử dụng NodeJS kết hợp với AngularJS. Trong quá trình tìm hiểu và tiếp cận, nếu có bất kỳ sai sót nào trong bài viết, mong mọi người thông cảm và góp ý để chúng ta cùng hoàn thiện hơn cho các bài viết tiếp theo.

1. Khái niệm

  • NodeJS là một nền tảng dựa vào Chrome Javascript runtime để xây dựng các ứng dụng nhanh và có độ lớn. Mô hình non-blocking I/O và các sự kiện phát sinh giúp tạo ra các ứng dụng nhẹ và hiệu quả cho dữ liệu thời gian thực trên các thiết bị phân tán. NodeJS là mã nguồn mở và đa nền tảng, cho phép phát triển các ứng dụng phía server và các ứng dụng liên quan đến mạng bằng Javascript trên nhiều hệ điều hành khác nhau.

  • Node.js cung cấp các module Javascript đa dạng, giúp đơn giản hóa việc phát triển các ứng dụng web sử dụng Node.js với các phần mở rộng.

2. Đặc điểm

  • Không đồng bộ và phát sinh sự kiện (Event Driven): Tất cả các APIs của Node.js đều không đồng bộ, không blocking. Node.js không đợi một API trả về dữ liệu mà chuyển sang một API khác. Cơ chế sự kiện của Node.js giúp Server nhận phản hồi từ các API gọi trước đó.

  • Tốc độ thực thi cao: Dựa trên V8 Javascript Engine của Google Chrome, Node.js thực thi mã rất nhanh.

  • Tiến trình đơn giản nhưng hiệu năng cao: Node.js sử dụng mô hình luồng đơn với các sự kiện lặp. Cơ chế sự kiện giúp Server trả lại các phản hồi một cách hiệu quả cao. Node.js sử dụng chương trình đơn luồng, cung cấp các dịch vụ cho nhiều request hơn so với các Server truyền thống như Apache HTTP Server.

  • Không đệm: Ứng dụng Node.js không lưu trữ dữ liệu buffer.

  • Có giấy phép: Node.js được phát hành dựa trên MIT License.

3. Cài đặt

Để cài đặt NodeJS, làm theo các bước sau:

  1. Cài đặt brew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  1. Cài đặt NodeJS bằng command line cho MacOS:
brew install node

Tiếp theo, mình sẽ hướng dẫn cách tạo một project.

4. Tạo project

  1. Tạo một folder và cd vào thư mục đó, ví dụ: ProjectNodejs.

  2. Chạy lệnh:

npm init

Ở đây, bạn cần nhập một số thông tin cơ bản về dự án, như tên, phiên bản... và có thể để giá trị mặc định.

Sau khi hoàn thành, chúng ta sẽ thấy trong thư mục một file package.json được tạo ra, file này lưu trữ thông tin về dự án.

Tạo file index.js trong thư mục gốc và thêm đoạn code sau:

console.log("Hello world!!!");

Mở console, cd vào thư mục chứa dự án và chạy lệnh:

node index.js

Kết quả trên console sẽ là:

Hello world!!!

Bạn đã cài đặt thành công NodeJS.

5. Cài đặt Express Framework

Express là một framework dành cho Node.js, cung cấp rất nhiều tính năng mạnh mẽ trên nền tảng web và các ứng dụng di động. Express hỗ trợ các phương thức HTTP và middleware, giúp tạo ra một API mạnh mẽ và dễ sử dụng. Một số chức năng chính của Express bao gồm:

  • Thiết lập lớp trung gian để xử lý các HTTP request
  • Định nghĩa router cho các hành động khác nhau dựa trên phương thức HTTP và URL
  • Trả về các trang HTML dựa trên các tham số

Để cài đặt Express Framework, chạy lệnh sau tại thư mục gốc của dự án:

npm install express

Sau khi cài đặt xong, trong thư mục chứa project sẽ xuất hiện file package-lock.json và thư mục node_modules.

6. Require Express Framework và tạo Server để lắng nghe

Thêm đoạn mã sau vào file index.js:

var express = require("express");
var app = express;
app.listen(3000);

Mở console, cd đến thư mục gốc của dự án và chạy lại lệnh:

node index.js

Mở trình duyệt và truy cập vào địa chỉ localhost:3000. Kết quả trên trình duyệt sẽ tương tự như hình ảnh dưới đây:

Xây dựng ứng dụng web với NodeJS + Express Framework + AngularJS - Phần 1

Đến đây, chúng ta đã hoàn thành các bước cơ bản để xây dựng một ứng dụng.

Trong bài viết tiếp theo, mình sẽ hướng dẫn cách cấu hình routes và xây dựng client bằng Angular để kết nối với server Node.js. Nếu có bất kỳ góp ý nào, vui lòng để lại comment bên dưới. Cảm ơn mọi người đã quan tâm và theo dõi.

1