Trình tạo package.json
Thay vì chạy lệnh npm init và trả lời mười một câu hỏi, hãy điền vào một biểu mẫu để nhận được tệp package.json có cấu trúc rõ ràng và hoàn chỉnh. Công cụ này bao gồm các trường bắt buộc (tên, phiên bản), các trường thường dùng (script, phụ thuộc, phụ thuộc phát triển, engine), cùng các thông tin bổ sung quan trọng (kho mã, lỗi, từ khóa, giấy phép) giúp gói phần mềm dễ dàng được tìm kiếm và đăng tải.
Cách tạo tệp package.json của bạn
-
1
Nhập tên và phiên bản
Tên phải tuân theo quy tắc của npm: viết bằng chữ thường, phù hợp với URL và không quá 214 ký tự. Phiên bản sử dụng định dạng semver (ví dụ: 0.1.0).
-
2
Chọn loại mô-đun
CommonJS (bắt đầu mặc định) hoặc ESM thông qua thuộc tính “type”: “module”. Áp dụng cho các dự án Node.js từ phiên bản 14 trở lên.
-
3
Thêm các script
Bắt đầu, xây dựng, kiểm thử và hiệu chỉnh mã – các lệnh này được thực thi bằng `npm run <name>`.
-
4
Danh sách phụ thuộc
Các gói runtime nằm trong các phụ thuộc; các công cụ phần mềm nằm trong các phụ thuộc phát triển.
-
5
Đặt thông tin siêu dữ liệu
Mô tả, tác giả, giấy phép, địa chỉ URL của kho lưu trữ, từ khóa.
-
6
Sao chép kết quả đầu ra
Dán vào tệp package.json mới ở thư mục gốc của dự án.
Các trường quan trọng nhất
| Trường | Có bắt buộc không? | Ghi chú |
|---|---|---|
name |
Có | Viết bằng chữ thường, từ 1 đến 214 ký tự, phù hợp với URL |
version |
Có | Semver (major.minor.patch) |
type |
Không | “module” dành cho ESM; bỏ qua đối với CommonJS |
main |
Được khuyến nghị | Điểm bắt đầu sử dụng CommonJS (index.js) |
exports |
Được khuyến nghị | Bản đồ xuất khẩu hiện đại dành cho hệ thống CJS/ESM kép |
scripts |
Được khuyến nghị mạnh mẽ | Các lệnh npm run <name> |
dependencies |
Theo nhu cầu | Các gói phần mềm chạy chương trình |
devDependencies |
Theo nhu cầu | Các công cụ xây dựng, trình chạy kiểm thử và công cụ rà soát lỗi |
engines |
Nên có | Phạm vi phiên bản Node bắt buộc |
license |
Có thể đăng tải | Mã nhận dạng SPDX tương tự như MIT, Apache-2.0 |
Bảng tóm tắt bí quyết của Semver
1.0.0, major.minor.patch^1.0.0– tương thích với phiên bản 1.x.x (≥1.0.0, <2.0.0)~1.0.0, chỉ cập nhật bản vá (≥ 1.0.0, < 1.1.0)>=1.0.0 <2.0.0, phạm vi xác định rõ ràng1.0.0-beta.1, prereleaselatest, thẻ npm, không phải là phiên bản
Giá trị mặc định khi chạy npm install package là ^, cho phép thực hiện các bản nâng cấp mà không làm gián đoạn quá trình hoạt động.
Các kịch bản tiêu chuẩn đáng có
{
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"build": "tsc",
"test": "vitest",
"lint": "eslint .",
"format": "prettier --write ."
}
}
Những sai lầm phổ biến trong việc đặt tên
- Không có chữ in hoa.
MyPackagekhông thể chạy được vớinpm install. - Không có khoảng trắng. Hãy sử dụng dấu gạch nối:
my-package. - Tên phạm vi bắt đầu bằng
@org/đối với các tổ chức trên GitHub hoặc npm:@acme/utils. - Các từ được bảo quản: Các mã
node_modules,favicon.ico,corevàexpresskhông thể sử dụng làm tên gói.
Các tùy chọn giấy phép
Chọn một định danh SPDX được công nhận:
- MIT, lựa chọn phổ biến và được chấp nhận rộng rãi nhất.
- Apache-2.0 – bản quyền mở với quyền cấp bằng sáng chế được chấp nhận.
- ISC – giấy phép rất ngắn tương tự MIT, là giá trị mặc định của npm.
- GPL-3.0 hoặc phiên bản mới hơn – thuộc loại bản quyền cộng đồng (copyleft).
- UNLICENSED, gói riêng tư, không dùng để phân phối.
Các chuỗi giấy phép sai hoặc mơ hồ sẽ kích hoạt cảnh báo khi công bố trên npm.
Câu hỏi thường gặp
Các phụ thuộc được cài đặt khi người dùng chạy npm install trong một dự án sử dụng phần mềm của bạn. Các phụ thuộc phát triển chỉ được cài đặt trong môi trường phát triển riêng của gói phần mềm đó. Hãy đặt các gói dùng trong quá trình thực thi vào mục phụ thuộc, còn các công cụ kiểm thử và xây dựng thì đặt vào mục phụ thuộc phát triển.
Đúng vậy, đối với các ứng dụng thì file khóa xác định chính xác phiên bản và đảm bảo quá trình cài đặt có thể được tái hiện đồng đều trên mọi máy tính cũng như trong quy trình CI. Đối với các gói thư viện được phát hành lên npm, file khóa là tùy chọn – người dùng sẽ nhận được file khóa riêng của mình.
Chỉ khi bạn muốn gói tin được thiết lập mặc định là định dạng ESM (cách nhập/xuất dữ liệu). Nếu không chọn tùy chọn này, các tệp .js sẽ được xử lý như CommonJS. Bạn cũng có thể sử dụng định dạng .mjs cho các tệp ESM hoặc .cjs cho các tệp CommonJS, bất kể loại của chúng.
Các phiên bản Node mà mã nguồn của bạn đã được kiểm thử trên đó. Một lựa chọn phổ biến hiện nay là "engines": {"node": ">=18"}. Đây chỉ là một cảnh báo chứ không phải lỗi; tuy nhiên, các công cụ vẫn tuân thủ quy định này và người dùng cũng thực hiện thao tác gắn (pin) đúng cách.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Trình định dạng HTML
Định dạng HTML cục bộ trong trình duyệt với thụt lề hai hoặc bốn khoảng trắng. HTML không được tải lên hoặc xác thực.
Bảng tra cứu nhanh Markdown
Tài liệu Markdown thực dụng với bản xem trước thực tế và ví dụ có thể sao chép cho tiêu đề, danh sách, bảng, mã, liên kết, hình ảnh và cú pháp GFM.
Công cụ xác thực số điện thoại
Kiểm tra cấu trúc số theo quốc gia và xem khu vực, loại số cùng các định dạng E.164, quốc tế, quốc gia và RFC 3966.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- Generator package.json [ID]
- ตัวสร้าง package.json [TH]
- package.json-Generator [DE]
- PackageJsonジェネレータ [JA]
- Gerador de Package.json [PT]
- Package.json-generator [SV]
- مولد package.json [AR]
- Package.json 생성기 [KO]
- Package.json-generator [NL]
- Generador de Package.json [ES]
- Generator package.json [PL]
- Générateur de package.json [FR]
- Генератор package.json [RU]
- Package.json Oluşturucu [TR]
- package.json 生成器 [ZH]
- Package.json Generator [EN]
- Generatore di Package.json [IT]