Package là gì, và module là gì
Npm sẽ phân biệt 2 khái niệm package và module
Package là một thư mục chứa một gói phần mềm được mô tả bởi file package.json
Module là một thư mục chứa file package.json, chứa một default export, cho phép loading module này bằng require() trong Node
Tạo package
Tạo một thư mục mới, init package npm bằng npm init hoặc npm init -y nếu muốn dùng các thiết đặt mặc định
mkdir my-vui-package && cd my-vui-package
npm init -yTrỏ vào thư mục này, chúng ta sẽ có file package.json như sau
{
"name": "my-vui-package",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}File index.js nội dung đại loại sẽ như thế này
"use strict";
module.exports = function my-vui-package(sentence, callback) {
}Kiểm tra ở local
Trước khi publish nó lên npm, trong ta có thể dùng npm link để kiểm tra dưới local trước. Đại khái npm link sẽ cho phép chúng ta trỏ thư mục package vào thư mục node_modules global. Chúng ta cần thực hiện 2 bước
cd ~/duong-dan-toi-thu-muc/my-vui-package
npm linkSau đó, trong thư mục sử dụng package
cd ~/duong-dan-toi-thu-muc/project-nao-do
npm link my-vui-packageBên trong thư mục node_modules bây giờ sẽ như thế này
Publish lên NPM
Trước khi publish lên npm chúng ta phải đăng ký một user trên npm, sau đó login ở dưới máy local
npm loginCó thể kiểm tra npm có biết chúng ta là ai chưa
npm whoamiMọi thứ đã hoàn tất, để trình làng một package cho bàn dân thiên hạ
npm publish --access publicNếu đã có một package như vậy trên npm, nó sẽ thông báo lỗi như này

Nếu nhận thông báo thành công, chúng ta có thể chạy ngay lên npm và search sẽ thấy package của chúng ta nằm chình ình trên đó
Ngày nó đó ko muốn cho thiên hạ xài nữa
npm unpublishKhi cần update lên version mới
npm version <update_type>Sử dụng thêm thư viện
Nếu cần chuyên nghiệp hơn, chuẩn hóa hơn các bác, sử dụng package np để hỗ trợ thực hiện các bước ở trên
npm i -g npMuốn sử dụng np chúng ta phải đảm bảo package chúng ta được host trên Github
cần publish ? chạy
npTrả lời các câu hỏi để đi tiếp

Đọc thêm cách đặt tên version ở đây




Initializing...