Xây dựng các thiết lập cơ bản trong express

Chào các bạn, chúng ta lại tiếp tục bắt đầu nào. Bài này chúng ta sẽ đi xây dựng các thiết lập cơ bản cần dùng cho ứng dụng của chúng ta nhé. Đầu tiên, tại thư mục root của ứng dụng, các bạn tạo thêm 3 thư mục con gồm: app, includes, routes

  • Thư mục app: Dùng để chứa các thành phần cốt lõi cho ứng dụng của bạn.
  • Thư mục includes: Sẽ dùng để chứa các thành phần khởi tạo ban đầu cho ứng dụng như là config, database connect, auth middleware …
  • Thư mục routes:  Sẽ dùng để chứa các file xử lý, phân phối tuyến đường url của các bạn.

Và cuối cùng trong phạm vi bài viết này, các bạn tạo thêm một thư múc con là http chứa trong thư mục app, thư mục này sẽ chứa các file controller của các bạn. Và chúng ta bắt đầu nào!

Tạo các biến toàn cục cho ứng dụng

Chắc hẳn trong quá trình phát triển ứng dụng, chúng ta sẽ cần dùng lại nhiều lần một vài biến, nên ta cần lưu chúng vào một file để tiện sử dụng. Các bạn sẽ tạo một file globals.js bên trong thư mục includes.

Sau đó, tại file app.js, chúng ta sẽ gọi nó vào để các biến này có hiệu lực, và mình sẽ đặt nó lên ngay đầu file, để nó sẽ được khởi tạo ngay khi app bắt đầu chạy.

Cấu hình route để phân vùng xử lý và tạo controller

Cơ bản, chúng ta sẽ có 2 phân vùng xử lý, một là phân vùng dành cho quản trị viên, mình đặt là admin. Hai là phân

  1. Phân vùng dành cho khách, mình đặt là index
  2. Phân vùng dành cho quản trị viên, mình đặt là admin.

Vậy mình sẽ tạo 2 file trong thư mục routes với tên là index.js, admin.js với nội dung như sau:

Và sau đó gọi nó vào để sử dụng ở file app.js

Ở đây, mình đã sử dụng các route của chúng ta như là các middleware để xử lý yêu cầu. Bây giờ các bạn hãy thử chạy file app.js và truy cập vào 2 link để xem kết quả nhé

Hãy nhớ lại rằng chúng ta có một thư mục http sẽ chứa các file controller, dùng để xử lý các route. Vậy nên việc trong các file index.js, admin.js chúng ta đã xử lý đưa kết quả ra trình duyệt có vẻ không được như mong muốn. Do đó, việc mình làm bây giờ sẽ là đưa các hàm middleware đó vào các file controller trong thư mục http của chúng ta.

Để làm điều này, trước hết mình sẽ tạo 2 file indexController.js, adminControllers.js bên trong thư mục http như sau:

Ở mỗi file, mình truyền vào biến module.exports một object các hàm xử lý yêu cầu. Lúc này, ở các file route mình sẽ sữa lại như sau:

Bây giờ mỗi khi các bạn cần xử lý một route, các bạn chỉ cần tạo một hàm trong đối tượng trả về của controller, sau đó cho route trỏ vào hàm đó để xử lý là xong. 😀

Tiếp theo, chúng ta sẽ cài đặt một vài module cần thiết cho quá trình phát triển ứng dụng của chúng ta.

Các module cần thiết để trong express

Các bạn chạy lệnh npm để cài đặt các module sau cookie-parser, body-parser, express-session

  • cookie-parser – Module để đọc thông tin từ cookie
  • body-parser – Module để lấy thông tin từ form HTML
  • express-session – Module để lưu session
  • morgan – Module để log mọi request ra console

Sau đó gọi nó vào để sử dụng tại file app.js

Ở trên, mình có định nghĩa một thư mục để chứa các file tĩnh là public. Vậy, bây giờ các bạn hãy tạo một thư mục tên là public ngay tại thư mục gốc của ứng dụng của các bạn đi nào.

Đến bây giờ, chúng ta đã có một ứng dụng với cấu trúc như sau.

Trong phạm vi bài này, mình đã hướng dẫn cho các bạn xây dựng một vài thiết lập cơ bản cho app của chúng ta. Trong bài tiếp theo, chúng ta sẽ cấu hình cho ứng dụng web kết nối vào cơ sở dữ liệu nhé.

Cám ơn các bạn đã đọc hết bài viết!

Bài viết không tránh khỏi những sai sót. Rất vui nếu nhận được sự góp ý của các bạn.

Sharing is caring!

Chủ đề:

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *