tl; dr:
- Vâng, bạn được phép để thêm các mục tùy chỉnh để
package.json
.
- Chọn tên chính:
- chưa được xác định (xem chi tiết bên dưới)
- không dành riêng để sử dụng trong tương lai (xem chi tiết bên dưới)
- tránh tiền tố
_
và $
- và tốt nhất là sử dụng sử dụng đơn top-lev el key trong đó làm tổ các mục tùy chỉnh của bạn.
Ví dụ:, Nếu bạn sở hữu tên miền example.org
, bạn có thể lưu trữ một phím tùy chỉnh random
như sau, bên trong một chìa khóa cấp cao nhất trong ký hiệu ngược tên-miền-với _
thay thế cho .
và, nếu thích hợp, -
(xem ý kiến) (ví dụ, org_example
):
{
"name": "application-name"
, "version": "0.0.1"
, "private": true
, "dependencies": {
"express": "2.4.7"
, "jade": ">= 0.0.1"
}
, "org_example": {
"random": true
}
}
package.json
định dạng file
npm
's chủ yếu phù hợp với CommonJS package specification:
Đối với chọn phím tùy chỉnh: các CommonJS package specification bang (tôi nhấn mạnh):
Đoạn phim sau ds là reserved cho tương lai mở rộng: build
, default
, email
, external
, files
, imports
, maintainer
, paths
, platform
, require
, summary
, test
, using
, downloads
, uid
.
Phần mở rộng cho đặc tả mô tả gói phải cố gắng tránh va chạm cho tên chuẩn trong tương lai bằng cách đặt tên khoảng cách của chúng với các tên vô hại không có ý nghĩa liên quan đến quản lý gói chung.
Các trường sau đây dành cho gói quan đăng ký sử dụng theo quyết định của họ: id
, type
. Tất cả các thuộc tính bắt đầu bằng _
hoặc $
cũng được đặt trước để đăng ký gói để sử dụng theo quyết định của mình.
Cảm ơn thông tin chi tiết. Có bất kỳ lý do nào bạn đề nghị '" org_example "' thay vì '" org.example "' - hoặc một không gian tên giống như XML "" http://example.org "'? – tomekwi
- hoặc [phạm vi NPM] (https://github.com/npm/npm/issues/5239) -style '" @example "'? – tomekwi
@tomekwi: Bạn _could_ sử dụng 'org.example' hoặc' http: // example.org', nhưng, với điều kiện các tên khóa JSON cũng là các tên thuộc tính đối tượng JavaScript, nó sẽ làm cho nó khó xử khi truy cập các thuộc tính này sau, bởi vì bạn phải sử dụng một cái gì đó như 'pkg ['org.example']', bởi vì cú pháp 'pkg.' tự nhiên hơn sẽ không hoạt động với chúng. –
mklement0