Giới thiệu LibMan
LibMan (Library Manager) là công cụ giúp lấy về các thư viện client-side (JS, CSS, Image) về dự án, bạn có thể nhanh chóng lấy về các thư viện phổ biến từ các CDN (content delivery network) như CDNJS, jsDelivr, unpkg. Ví dụ bạn vào cdnjs (https://cdnjs.com/), tìm thư viện muốn tải về, sau đó dùng LibMan để lấy về dự án.
Cài đặt và sử dụng LibMan trong ASP.NET Core
Hãy thực hiện lệnh sau để cài đặt LibMan
dotnet tool install -g Microsoft.Web.LibraryManager.Cli
Sau khi cài đặt, kiểm tra bằng lệnh
libman --version
Hướng dẫn về các lệnh bạn đọc được bằng cách nhập vào
libman --help
Các thư viện client-side muốn lấy về, quản lý bằng LibMan được khai báo trong một file json có
tên libman.json
, để khởi tạo ra file này hãy thực hiện lệnh
libman init
Nó có hỏi thiết lập DefaultProvider mặc định (nguồn lấy thư viện) là gì, nó gợi ý sử dụng cdnjs
,
nếu sử dụng mặc định này chỉ việc nhấn Enter hoặc nhập Provider muốn dùng như unpkg ...
Sau lệnh này nó sinh ra file libman.json
với nội dung
{ "version": "1.0", "defaultProvider": "cdnjs", "libraries": [] }
Trong đó, những thư viện nào cần lấy về sẽ xuất hiện ở mục libraries
Để đưa một thư viện vào, bạn có thể khai báo nó trong libraries một cách thủ công hoặc thực hiện lệnh.
Ví dụ muốn lấy về dự án thư viện CSS Bootstrap, vào CDN cdnjs tìm thì nó có tên là twitter-bootstrap
,
vậy bạn sẽ gõ lệnh sau để thêm vào:
libman install twitter-bootstrap
Khi lệnh thực hiện nó sẽ hỏi thư viện lấy về lưu tại đâu, do là dự án .NET nên mặc định nó gợi ý
lưu vào wwwroot/lib/twitter-bootstrap
bạn có thể chấp nhận hoặc gõ một đường dẫn khác.
Kết quả nó sẽ tải thư viện về, đồng thời file libman.json
được cập nhật là:
{ "version": "1.0", "defaultProvider": "cdnjs", "libraries": [ { "library": "twitter-bootstrap@4.5.2", "destination": "wwwroot/lib/twitter-bootstrap" } ] }
Bạn có thể thực hành một cách tương tự để lấy về các loại thư viện như jquery ...
Khi bạn có file libman.json
để tải tất cả các thư viện khai báo trong nó thực hiện lệnh
libman restore
Để cập nhật một thư viện nào đó, ví dụ jquery thì thực hiện lệnh update
libman update jquery