Tạo và publish một package lên npm trong 5 phút
Khi code JavaScript được một thời gian, anh em nảy ra một số ý tưởng hay muốn đóng góp cho cộng đồng, muốn mọi người sử dụng thì publish lên npm và github là một trong những cách tốt nhất.
Github thì đơn giản rồi, chỉ cần tạo một repo và push code lên là xong. Nếu bạn không biết git thì mình có bài viết về git cho bạn tại đây:
Còn cho lên npm thì sao? Có nhanh không?
Yep! Nó nhanh lắm mọi người, không có gì khó đâu. Oke bắt đầu luôn nhé.
🥇 Tạo package
Đầu tiên bạn tạo cho mình một folder mới, mình sẽ đặt tên là sum-phamhongduc
.
Tiếp theo mình sẽ tạo một file README.md
trong folder vừa tạo để mô tả cho package của mình.
Cho bạn nào chưa biết thì README.md
là một file markdown, nó sẽ được hiển thị trên trang chủ của package trên npm.
README.md
Tiếp theo bạn mở terminal lên chuyển đến folder vừa tạo và tạo file package.json
package.json
là file mà npm sẽ đọc để biết được package của bạn là gì, nó sẽ được sử dụng để publish package lên npm. Sau khi chạy các câu lệnh trên thì bạn sẽ có được file package.json
như sau:
package.json
Như bạn thấy name
trong file package.json
chính là tên package của chúng ta, các bạn thích tên gì thì tự đổi lại nhé.
Lưu ý là tên package không được trùng với các package đã có trên npm. Nếu trùng thì bạn sẽ không thể publish package của mình lên npm được.
Chúng ta sẽ thêm một số thông tin mô tả cho package của mình vào file package.json
như sau:
package.json
Về phần repository
thì các bạn có cũng được, không cũng được. Chủ yếu là thêm một số thông tin Github cho package của mình. Cho nó uy tín 😂
Cái format repository.url
nó có dạng git+URL_REPO
Nếu bạn chưa có repository trên Github thì cũng nên tạo cái đi, quản lý package cho nó dễ.
Tiếp theo mình sẽ tạo file index.js
để chứa code chính của package sum-phamhongduc
index.js
Cuối cùng thì chúng ta sẽ có package dạng như thế này
🥇 Test package của bạn trước khi publish
Bây giờ mình sẽ tạo folder mới ngay cạnh cái folder sum-phamhongduc
để test package của mình.
Tạo file main.js
trong folder test-folder
, mình sẽ dùng cú pháp require
để import package sum-phamhongduc
vào file main.js
main.js
Bây giờ vào folder sum-phamhongduc
và chạy lệnh
Tiếp theo vào folder test-folder
và chạy lệnh để tải package sum-phamhongduc
về
Lúc này bạn sẽ thấy trong folder test-folder
sẽ có một folder node_modules
chứa package sum-phamhongduc
vừa được tải về.
Bây giờ dùng Nodejs chạy thử file main coi như thế nào nhé, nhớ là cd
vào trong thư mục test-folder
trước khi chạy lệnh.
Kết quả là
Chuẩn không cần chỉnh!
🥇 Publish package lên npm
Các bạn làm theo từng bước sau
-
Tạo tài khoản và xác thực email trên npmjs.com. Nếu không xác thực email thì bạn sẽ không thể publish package lên npm.
-
Kiểm tra tên package của bạn có bị trùng tên với một package nào đó trên npm không, bằng cách search thử trên trang npmjs.com. Nếu trùng thì đổi tên lại cho phù hợp.
-
Đăng nhập npm trên terminal bằng lệnh
npm login
, nó sẽ bảo bạn nhấn Enter để mở website lên và thực hiện đăng nhập trên website, sao khi đăng nhập website xong là oke -
Chạy câu lệnh
npm publish
để publish package lên npm. Nếu không xuất hiện lỗi gì thì thành công rồi đó.
Nếu xuất hiện các lỗi liên quan đến
403
thì bạn nên kiểm tra lại email đã verfiy hay chưa, tên package có bị trùng hay không.
Bây giờ thì package của bạn đã sẵn sàng được dùng bằng câu lệnh npm i sum-phamhongduc
rồi đó.
🥇 Cập nhật package
Nãy mình chưa push package của mình lên trên git, bây giờ mình sẽ thực hiện push lên
Sau này mà muốn cập nhật package trên npm thì thực hiện theo các bước sau
-
Pull code từ github về
-
Sửa code
-
Vào file
package.json
sửa lại version -
Login bằng lệnh
npm login
-
Chạy lệnh
npm publish
Nếu bạn muốn biết quy tắt đặt version thì có thể tham khảo About semantic versioning
🥇 Tài liệu tham khảo
Nguồn bài viết: https://duthanhduoc.com