Liên hệ tư vấn

Loopback là gì? Cách cài đặt và sử dụng từ A-Z


Nếu bạn đang tìm kiếm một framework để xây dựng các ứng dụng web và API nhanh chóng và dễ dàng, bạn có thể quan tâm đến Loopback. Hãy cùng chúng tôi tìm hiểu trong bài viết này nhé.

loopback-la-gi

Loopback là gì

Loopback là một framework mã nguồn mở dựa trên Node.js, Express và TypeScript, cung cấp các tính năng và công cụ hỗ trợ cho việc phát triển ứng dụng.

Lợi ích của Loopback

Sử dụng Loopback có nhiều lợi ích như sau:

Tiết kiệm thời gian và công sức khi xây dựng các ứng dụng web và API. Loopback cho phép bạn tạo ra các mô hình dữ liệu, kho lưu trữ, bộ điều khiển, dịch vụ và tài liệu API chỉ bằng một vài lệnh CLI. Bạn không cần phải viết nhiều mã nguồn để thiết lập các kết nối, xác thực, phân quyền, bảo mật, bộ nhớ đệm, v.v. Loopback đã làm hết cho bạn.

Tận dụng sức mạnh của Node.js, Express và TypeScript để viết mã nguồn hiệu quả và dễ bảo trì. Node.js là một nền tảng phổ biến để xây dựng các ứng dụng web và API với hiệu suất cao, khả năng mở rộng linh hoạt và hỗ trợ đa luồng. Express là một framework web nhẹ và linh động cho Node.js, cung cấp các tính năng cơ bản như routing, middleware, error handling, v.v. TypeScript là một ngôn ngữ lập trình siêu tập của JavaScript, cung cấp các tính năng như kiểu dữ liệu tĩnh, lớp, giao diện, v.v. Khi kết hợp ba công nghệ này, bạn có thể viết mã nguồn sạch sẽ, rõ ràng và an toàn hơn.

Tận hưởng sự hỗ trợ của cộng đồng mã nguồn mở rộng lớn và nhiệt tình. Loopback là một sản phẩm của StrongLoop, một công ty con của IBM. Loopback được phát triển và duy trì bởi một nhóm các nhà phát triển chuyên nghiệp và có kinh nghiệm. Ngoài ra, Loopback cũng có sự đóng góp của hàng ngàn lập trình viên từ khắp nơi trên thế giới. Bạn có thể tìm thấy nhiều tài liệu hướng dẫn, ví dụ, video, blog, podcast về Loopback trên internet. Bạn cũng có thể tham gia vào các diễn đàn, nhóm, kênh để hỏi đáp, chia sẻ kiến thức và kinh nghiệm về Loopback.

Dễ dàng tích hợp với các dịch vụ bên ngoài như AWS, Firebase, MongoDB Atlas, v.v. Loopback hỗ trợ nhiều loại cơ sở dữ liệu khác nhau như SQL (MySQL, PostgreSQL, Oracle), NoSQL (MongoDB, Redis), Cloud (AWS S3), v.v. Bạn chỉ cần cài đặt các gói phụ thuộc tương ứng và cấu hình các thông số kết nối. Loopback cũng hỗ trợ các dịch vụ bên ngoài khác như xác thực (OAuth, JWT), email (SendGrid, Mailgun), push notification (Firebase, OneSignal), v.v. Bạn có thể sử dụng các dịch vụ này để mở rộng khả năng của ứng dụng của bạn.

Cách cài đặt và sử dụng Loopback

Để cài đặt và sử dụng Loopback, bạn cần có Node.js và npm đã được cài đặt trên máy tính của bạn. Bạn có thể kiểm tra phiên bản của Node.js và npm bằng các lệnh sau:

node -v
npm -v

Nếu bạn chưa có Node.js và npm, bạn có thể tải và cài đặt chúng từ trang web chính thức của Node.js: https://nodejs.org/en/

Sau khi đã có Node.js và npm, bạn có thể làm theo các bước sau để cài đặt và sử dụng Loopback:

Bước 1: Cài đặt công cụ CLI của Loopback

Công cụ CLI của Loopback là một gói npm giúp bạn tạo và quản lý các thành phần của ứng dụng Loopback. Để cài đặt công cụ CLI, bạn mở terminal hoặc command prompt và chạy lệnh sau:

npm install -g @loopback/cli

Lệnh này sẽ cài đặt công cụ CLI toàn cục trên máy tính của bạn. Bạn có thể kiểm tra phiên bản của công cụ CLI bằng lệnh sau:

lb4 --version

Bước 2: Tạo một ứng dụng mới bằng Loopback

Để tạo một ứng dụng mới bằng Loopback, bạn chạy lệnh sau:

lb4 app

Lệnh này sẽ khởi chạy một trình hướng dẫn tương tác để hỏi bạn một số câu hỏi về ứng dụng của bạn, như:

Tên của ứng dụng: Bạn có thể nhập tên bất kỳ cho ứng dụng của bạn, ví dụ: loopback-demo.

Mô tả của ứng dụng: Bạn có thể nhập một câu mô tả ngắn gọn về ứng dụng của bạn, ví dụ: A demo application using Loopback.

Phiên bản của ứng dụng: Bạn có thể nhập phiên bản cho ứng dụng của bạn, ví dụ: 1.0.0.

Thư mục của ứng dụng: Bạn có thể nhập tên thư mục cho ứng dụng của bạn, ví dụ: loopback-demo. Nếu bạn để trống, công cụ CLI sẽ sử dụng tên của ứng dụng làm tên thư mục.

Các tính năng của ứng dụng: Bạn có thể chọn các tính năng mà bạn muốn sử dụng trong ứng dụng của bạn, như:

  • Enable eslint: Để sử dụng eslint để kiểm tra và sửa lỗi mã nguồn.
  • Enable prettier: Để sử dụng prettier để định dạng mã nguồn.
  • Enable mocha: Để sử dụng mocha làm framework kiểm thử.
  • Enable loopbackBuild: Để sử dụng loopbackBuild làm công cụ xây dựng.
  • Enable vscode: Để sử dụng vscode làm trình biên tập mã nguồn.
  • Enable docker: Để sử dụng docker để đóng gói và triển khai ứng dụng.
  • Enable repositories: Để sử dụng các kho lưu trữ để truy cập và thao tác với cơ sở dữ liệu.
  • Enable services: Để sử dụng các dịch vụ để kết nối với các dịch vụ bên ngoài.

Bạn có thể chọn một hoặc nhiều tính năng bằng cách nhấn phím space, sau đó nhấn phím enter để xác nhận.

Sau khi trả lời xong các câu hỏi, công cụ CLI sẽ tạo ra một thư mục cho ứng dụng của bạn, và cài đặt các gói phụ thuộc cần thiết. Bạn có thể xem cấu trúc thư mục của ứng dụng bằng lệnh sau:

tree loopback-demo

Bạn sẽ thấy một số thư mục và tệp quan trọng như:

  • src: Chứa mã nguồn của ứng dụng, bao gồm các mô hình, kho lưu trữ, bộ điều khiển, dịch vụ, v.v.
  • public: Chứa các tệp tĩnh của ứng dụng, như hình ảnh, css, js, v.v.
  • test: Chứa các tệp kiểm thử của ứng dụng, sử dụng mocha làm framework kiểm thử.
  • .eslintrc.js: Chứa các cấu hình cho eslint, để kiểm tra và sửa lỗi mã nguồn.
  • .prettierrc: Chứa các cấu hình cho prettier, để định dạng mã nguồn.
  • package.json: Chứa các thông tin về ứng dụng, như tên, mô tả, phiên bản, gói phụ thuộc, script, v.v.

Bước 3: Chạy ứng dụng

Để chạy ứng dụng, bạn chuyển vào thư mục của ứng dụng và chạy lệnh sau:

npm start

Lệnh này sẽ khởi động ứng dụng trên cổng 3000. Bạn có thể truy cập vào http://localhost:3000 để xem ứng dụng hoạt động. Bạn sẽ thấy một trang chào mừng của Loopback với một số liên kết hữu ích.

Ngoài ra, bạn có thể truy cập vào http://localhost:3000/explorer để xem tài liệu API của ứng dụng. Bạn sẽ thấy một giao diện Swagger UI hiển thị các thông tin về các API của ứng dụng, như đường dẫn, phương thức, tham số, phản hồi, v.v. Bạn cũng có thể kiểm tra các API bằng cách nhấn vào nút Try it out và Execute.

Bước 4: Thêm các thành phần khác cho ứng dụng

Sau khi đã có một ứng dụng cơ bản bằng Loopback, bạn có thể sử dụng công cụ CLI để thêm các thành phần khác cho ứng dụng như:

  • Mô hình (model): Đại diện cho các đối tượng dữ liệu trong ứng dụng. Bạn có thể tạo một mô hình bằng lệnh sau:
lb4 model

Lệnh này sẽ khởi chạy một trình hướng dẫn tương tác để hỏi bạn một số câu hỏi về mô hình của bạn, như:

– Tên của mô hình: Bạn có thể nhập tên bất kỳ cho mô hình của bạn, ví dụ: Product.
– Miền của mô hình: Bạn có thể nhập miền cho mô hình của bạn, ví dụ: E-commerce. Nếu bạn để trống, công cụ CLI sẽ sử dụng tên của ứng dụng làm miền.
– Cơ sở của mô hình: Bạn có thể chọn cơ sở cho mô hình của bạn, ví dụ: Entity. Cơ sở là một mô hình có sẵn trong Loopback, cung cấp các tính năng cơ bản như id, tạo, cập nhật, xoá, v.v. Bạn có thể chọn một trong các cơ sở sau:

+ Entity: Một mô hình có id duy nhất và có thể được lưu trữ trong cơ sở dữ liệu.
+ Model: Một mô hình không có id và không có phương thức lưu trữ.
+ TransactionalEntity: Một mô hình có id duy nhất và có thể được lưu trữ trong cơ sở dữ liệu với khả năng giao dịch.
+ KeyValueModel: Một mô hình có id duy nhất và có thể được lưu trữ trong cơ sở dữ liệu kiểu khóa-giá trị.

– Thuộc tính của mô hình: Bạn có thể nhập các thuộc tính cho mô hình của bạn, ví dụ: name, price, description, v.v. Bạn sẽ được hỏi về kiểu dữ liệu, giá trị mặc định, tính bắt buộc và tính chỉ đọc của từng thuộc tính. Bạn có thể nhập nhiều thuộc tính cho đến khi bạn nhập rỗng để kết thúc.

Sau khi trả lời xong các câu hỏi, công cụ CLI sẽ tạo ra một tệp TypeScript cho mô hình của bạn trong thư mục src/models. Bạn có thể xem và chỉnh sửa tệp này để thêm hoặc sửa đổi các thuộc tính hoặc phương thức của mô hình.

  • Kho lưu trữ (repository): Đại diện cho các hoạt động truy cập và thao tác với cơ sở dữ liệu. Bạn có thể tạo một kho lưu trữ bằng lệnh sau:
lb4 repository

Lệnh này sẽ khởi chạy một trình hướng dẫn tương tác để hỏi bạn một số câu hỏi về kho lưu trữ của bạn, như:

– Tên của kho lưu trữ: Bạn có thể nhập tên bất kỳ cho kho lưu trữ của bạn, ví dụ: ProductRepository. Nếu bạn để trống, công cụ CLI sẽ tự động sinh ra tên từ tên của mô hình.
– Miền của kho lưu trữ: Bạn có thể nhập miền cho kho lưu trữ của bạn, ví dụ: E-commerce. Nếu bạn để trống, công cụ CLI sẽ sử dụng miền của mô hình làm miền.
– Mô hình liên quan đến kho lưu trữ: Bạn phải chọn một mô hình đã được tạo trước đó để liên kết với kho lưu trữ của bạn, ví dụ: Product. Nếu bạn chưa tạo một mô hình nào, bạn phải tạo một mô hình trước khi tạo kho lưu trữ.
– Cơ sở dữ liệu liên quan đến kho lưu trữ: Bạn phải chọn một cơ sở dữ liệu đã được cài đặt và cấu hình trước đó để liên kết với kho lưu trữ của bạn, ví dụ: MySQL. Nếu bạn chưa cài đặt và cấu hình một cơ sở dữ liệu nào, bạn phải làm điều đó trước khi tạo kho lưu trữ.

Sau khi trả lời xong các câu hỏi, công cụ CLI sẽ tạo ra một tệp TypeScript cho kho lưu trữ của bạn trong thư mục src/repositories. Bạn có thể xem và chỉnh sửa tệp này để thêm hoặc sửa đổi các phương thức của kho lưu trữ.

  • Bộ điều khiển (controller): Đại diện cho các hoạt động xử lý các yêu cầu HTTP và trả về các phản hồi. Bạn có thể tạo một bộ điều khiển bằng lệnh sau:
lb4 controller

Lệnh này sẽ khởi chạy một trình hướng dẫn tương tác để hỏi bạn một số câu hỏi về bộ điều khiển của bạn, như:

– Tên của bộ điều khiển: Bạn có thể nhập tên bất kỳ cho bộ điều khiển của bạn, ví dụ: ProductController. Nếu bạn để trống, công cụ CLI sẽ tự động sinh ra tên từ tên của mô hình.
– Miền của bộ điều khiển: Bạn có thể nhập miền cho bộ điều khiển của bạn, ví dụ: E-commerce. Nếu bạn để trống, công cụ CLI sẽ sử dụng miền của mô hình làm miền.
– Mô hình liên quan đến bộ điều khiển: Bạn phải chọn một mô hình đã được tạo trước đó để liên kết với bộ điều khiển của bạn, ví dụ: Product. Nếu bạn chưa tạo một mô hình nào, bạn phải tạo một mô hình trước khi tạo bộ điều khiển.
– Kho lưu trữ liên quan đến bộ điều khiển: Bạn phải chọn một kho lưu trữ đã được tạo trước đó để liên kết với bộ điều khiển của bạn, ví dụ: ProductRepository. Nếu bạn chưa tạo một kho lưu trữ nào, bạn phải tạo một kho lưu trữ trước khi tạo bộ điều khiển.
– Loại của bộ điều khiển: Bạn có thể chọn loại cho bộ điều khiển của bạn, ví dụ: REST Controller with CRUD functions. Loại là một mẫu có sẵn trong Loopback, cung cấp các phương thức cơ bản như tạo, đọc, cập nhật, xoá, v.v. Bạn có thể chọn một trong các loại sau:

– Empty Controller: Một bộ điều khiển không có phương thức nào.
– REST Controller with CRUD functions: Một bộ điều khiển có các phương thức CRUD cho một mô hình và một kho lưu trữ.
– REST Controller mapped to an existing repository: Một bộ điều khiển có các phương thức REST cho một kho lưu trữ đã tồn tại.
– REST Controller based on a model and a custom datasource: Một bộ điều khiển có các phương thức REST cho một mô hình và một nguồn dữ liệu tùy chỉnh.

Sau khi trả lời xong các câu hỏi, công cụ CLI sẽ tạo ra một tệp TypeScript cho bộ điều khiển của bạn trong thư mục src/controllers. Bạn có thể xem và chỉnh sửa tệp này để thêm hoặc sửa đổi các phương thức của bộ điều khiển.

  • Dịch vụ (service): Đại diện cho các hoạt động kết nối với các dịch vụ bên ngoài. Bạn có thể tạo một dịch vụ bằng lệnh sau:
lb4 service

Lệnh này sẽ khởi chạy một trình hướng dẫn tương tác để hỏi bạn một số câu hỏi về dịch vụ của bạn, như:

– Tên của dịch vụ: Bạn có thể nhập tên bất kỳ cho dịch vụ của bạn, ví dụ: EmailService.
– Miền của dịch vụ: Bạn có thể nhập miền cho dịch vụ của bạn, ví dụ: E-commerce. Nếu bạn để trống, công cụ CLI sẽ sử dụng miền của ứng dụng làm miền.
– Dịch vụ bên ngoài liên quan đến dịch vụ: Bạn phải chọn một dịch vụ bên ngoài đã được cài đặt và cấu hình trước đó để liên kết với dịch vụ của bạn, ví dụ: SendGrid. Nếu bạn chưa cài đặt và cấu hình một dịch vụ bên ngoài nào, bạn phải làm điều đó trước khi tạo dịch vụ.

Sau khi trả lời xong các câu hỏi, công cụ CLI sẽ tạo ra một tệp TypeScript cho dịch vụ của bạn trong thư mục src/services. Bạn có thể xem và chỉnh sửa tệp này để thêm hoặc sửa đổi các phương thức của dịch vụ.

  • Tài liệu (documentation): Đại diện cho các tài liệu mô tả API của ứng dụng. Bạn không cần phải tạo tài liệu bằng tay, vì Loopback đã tự động sinh ra tài liệu từ mã nguồn của bạn. Bạn có thể xem và chỉnh sửa các tệp OpenAPI trong thư mục src/controllers để thêm hoặc sửa đổi các thông tin về API, như tiêu đề, mô tả, tham số, phản hồi, v.v.

Kết luận

Loopback là một framework mã nguồn mở dựa trên Node.js, Express và TypeScript để xây dựng các ứng dụng web và API nhanh chóng và dễ dàng. Loopback cung cấp các tính năng như mô hình dữ liệu linh hoạt và mạnh mẽ, công cụ CLI, hệ thống middleware, hệ thống plugin và tài liệu API tự động. Loopback cũng có nhiều lợi ích như tiết kiệm thời gian và công sức, tận dụng sức mạnh của Node.js, Express và TypeScript, tận hưởng sự hỗ trợ của cộng đồng mã nguồn mở và dễ dàng tích hợp với các dịch vụ bên ngoài. Để cài đặt và sử dụng Loopback, bạn chỉ cần có Node.js và npm, sau đó sử dụng công cụ CLI để tạo và quản lý các thành phần của ứng dụng.


Đánh giá: 

5/5 (2)
Lưu ý:

*Thông tin trong bài viết đều là những kiến thức chuyên môn và kinh nghiệm thực tế của đội ngũ sáng tạo tại MDIGI . Mọi hành vi sao chép vui lòng ghi trích dẫn nguồn MDIGI.vn! Xem Điều khoản & điều kiện của Chúng tôi.

*Cập nhật mới nhất ngày: 07/08/2023

Đôi nét về tác giả Mạnh Đức

Mạnh Đức

Tốt nghiệp Đại học kỹ thuật Lê Quý Đôn năm 2018 nhưng đã bắt đầu với Digital Marketing từ những năm 2015. Với kinh nghiệm thực chiến từ hàng trăm dự án, Mạnh Đức muốn mang những gì tốt nhất cho khách hàng của MDIGI.

26 bài viết cùng chủ đề Cơ bản về website

Cookie là gì? Tầm quan trọng của Cookie
CSS là gì? Vai trò của CSS đối với website
ASP.NET là gì? Các tính năng chính của ASP.NET
Thiết kế giao diện web đẹp, chuyên nghiệp
Quy trình thiết kế website chuyên nghiệp
Update website là gì? Tại sao cần Update website?
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận