ตัวสร้าง package.json
แทนที่จะต้องรันโปรแกรม npm init และตอบคำถามจำนวน 11 ข้อ ให้กรอกแบบฟอร์มเพียงเท่านั้น ก็จะได้ไฟล์ package.json ที่มีโครงสร้างชัดเจนและถูกต้องตามมาตรฐาน เครื่องมือนี้ครอบคลุมข้อมูลจำเป็น (ชื่อและเวอร์ชัน) ข้อมูลที่ใช้บ่อย (สคริปต์ ขึ้นอยู่กับส่วนประกอบต่างๆ การพึ่งพาในการพัฒนา และเอนจินที่ใช้) รวมถึงรายละเอียดเสริมสำคัญ เช่น แหล่งจัดเก็บไฟล์ ข้อผิดพลาด คำสำคัญ และใบอนุญาตการใช้งาน ซึ่งล้วนมีบทบาทในการทำให้แพ็กเกจสามารถค้นหาและเผยแพร่ได้อย่างสะดวก
วิธีสร้างไฟล์ package.json ของคุณ
-
1
กรุณาป้อนชื่อและเวอร์ชัน
ชื่อต้องเป็นไปตามกฎของ npm: ใช้ตัวพิมพ์เล็ก ปลอดภัยสำหรับ URL และมีความยาวไม่เกิน 214 ตัวอักษร ส่วนเวอร์ชันใช้รูปแบบ semver (เช่น 0.1.0)
-
2
เลือกประเภทโมดูล
CommonJS (ค่าเริ่มต้น) หรือ ESM โดยใช้ประเภท "module", กำหนดการใช้งานสำหรับโปรเจกต์ Node.js เวอร์ชัน 14 และต่อไป
-
3
เพิ่มสคริปต์
เริ่มต้น สร้าง ทดสอบ และตรวจสอบโค้ด, สั่งการเหล่านี้จะทำงานโดยใช้ `npm run <name>`
-
4
รายการขึ้นอยู่กัน
แพ็กเกจสำหรับการรันโปรแกรมอยู่ในส่วนของขึ้นอยู่ (dependencies) ส่วนเครื่องมือต่างๆ อยู่ในส่วนของขึ้นอยู่สำหรับการพัฒนา (devDependencies)
-
5
การตั้งค่าเมตาดาต้า
คำอธิบาย ผู้เขียน ใบอนุญาต URL ของคลังข้อมูล และคำสำคัญ
-
6
คัดลอกผลลัพธ์
วางไฟล์ลงในไฟล์ package.json ใหม่ที่ตำแหน่งรากของโปรเจกต์
ฟิลด์ที่สำคัญที่สุด
| ฟิลด์ | จำเป็นหรือไม่? | หมายเหตุ |
|---|---|---|
name |
ใช่ | ตัวอักษรเล็ก 1–214 ตัว ปลอดภัยสำหรับ URL |
version |
ใช่ | Semver (รุ่นหลัก/รอง/ฉบับปรับปรุง) |
type |
ไม่ | ใช้ “module” สำหรับ ESM; สามารถไม่ระบุได้หากใช้ CommonJS |
main |
แนะนำ | จุดเริ่มต้นสำหรับ CommonJS (index.js) |
exports |
แนะนำ | แผนที่การส่งออกแบบสมัยใหม่สำหรับระบบ CJS/ESM แบบคู่ |
scripts |
แนะนำอย่างยิ่ง | คำสั่ง npm run <name> |
dependencies |
ตามความจำเป็น | แพ็กเกจสำหรับใช้งานระหว่างโปรแกรม |
devDependencies |
ตามความจำเป็น | เครื่องมือสำหรับการพัฒนา โปรแกรมทดสอบ และเครื่องตรวจค้นข้อผิดพลาด |
engines |
เป็นฟีเจอร์ที่น่าสนใจ | ช่วงเวอร์ชันของโหนดที่จำเป็น |
license |
ใช่ สำหรับการเผยแพร่ | ตัวระบุ SPDX เช่น MIT, Apache-2.0 |
แบบฟอร์มข้อมูลสำรองสำหรับ Semver
1.0.0, major.minor.patch^1.0.0, เข้ากันได้กับเวอร์ชัน 1.x.x (≥1.0.0, <2.0.0)~1.0.0, ใช้สำหรับการอัปเดตแพตช์เท่านั้น (เวอร์ชัน ≥1.0.0 และ <1.1.0)>=1.0.0 <2.0.0, ช่วงค่าที่ระบุอย่างชัดเจน1.0.0-beta.1, prereleaselatest, แท็ก npm ไม่ใช่เวอร์ชัน
ค่าเริ่มต้นเมื่อใช้งาน npm install package คือ ^ ซึ่งอนุญาตให้ทำการอัปเกรดโดยไม่ทำให้ระบบหยุดทำงาน
สคริปต์มาตรฐานที่ควรมี
{
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"build": "tsc",
"test": "vitest",
"lint": "eslint .",
"format": "prettier --write ."
}
}
ข้อผิดพลาดในการตั้งชื่อ
- ไม่มีตัวอักษรใหญ่:
MyPackageไม่สามารถทำงานร่วมกับnpm installได้ - ไม่ต้องใช้ช่องว่าง ให้ใช้เครื่องหมายเส้นสายขวางแทน เช่น:
my-package - ชื่อสกอปจะเริ่มต้นด้วย
@org/สำหรับองค์กรบน GitHub หรือ npm: เช่น@acme/utils - คำที่สงวนไว้:
node_modules,favicon.ico,coreและexpressไม่สามารถใช้เป็นชื่อแพ็กเกจได้
ตัวเลือกใบอนุญาต
เลือกตัวระบุ SPDX ที่ได้รับการยอมรับ:
- MIT, เป็นตัวเลือกที่ได้รับความนิยมมากที่สุดและเปิดกว้างที่สุด
- Apache-2.0 – เป็นรูปแบบที่อนุญาตการใช้งานได้ และมีการอนุมัติสิทธิบัตร
- ISC, ใบอนุญาตแบบ MIT ที่สั้นมาก และเป็นค่าเริ่มต้นของ npm
- GPL-3.0 หรือเวอร์ชันใหม่กว่า – เป็นลิขสิทธิ์แบบโคปีเลฟต์ (copyleft)
- UNLICENSED, แพ็กเกจส่วนตัว ไม่สำหรับการแจกจ่าย
สตริงใบอนุญาตที่ผิดหรือไม่ชัดเจนจะทำให้เกิดการแจ้งเตือนเมื่อมีการเผยแพร่บน npm
คำถามที่พบบ่อย
การติดตั้งขึ้นอยู่จะเกิดขึ้นเมื่อมีผู้ใช้งานโปรแกรม npm install ในโปรเจกต์ที่ใช้โปรแกรมของคุณ โดยขึ้นอยู่เฉพาะในสภาพแวดล้อมการพัฒนาของแพ็กเกจนั้นเอง ส่วนแพ็กเกจสำหรับใช้งานระหว่างรัน (runtime packages) ควรจัดอยู่ในหมวดขึ้นอยู่ และเครื่องมือสำหรับการทดสอบและการสร้างโปรแกรมควรจัดอยู่ในหมวดขึ้นอยู่สำหรับการพัฒนา
ใช่ สำหรับการประยุกต์ใช้งาน โดยไฟล์ล็อกจะระบุเวอร์ชันที่แน่นอน และช่วยให้สามารถติดตั้งได้อย่างสม่ำเสมอและสอดคล้องกันบนเครื่องต่างๆ รวมถึงในกระบวนการทดสอบการผลิต (CI) ส่วนแพ็กเกจไลบรารีที่เผยแพร่ผ่าน npm ไฟล์ล็อกนั้นเป็นตัวเลือก, ผู้ใช้แต่ละรายจะได้รับไฟล์ล็อกเฉพาะของตนเอง
คุณต้องตั้งค่าให้แพ็กเกจใช้รูปแบบ ESM (ไวยากรณ์การนำเข้า/ส่งออก) เป็นค่าเริ่มต้นเท่านั้น หากไม่ทำเช่นนั้น ไฟล์ .js จะถูกจัดเป็นไฟล์ CommonJS นอกจากนี้ คุณสามารถใช้นามสกุล .mjs สำหรับไฟล์ ESM หรือ .cjs สำหรับไฟล์ CommonJS ได้ โดยไม่ขึ้นอยู่กับประเภทของไฟล์
เวอร์ชันของโหนดที่ใช้ทดสอบโค้ดของคุณ โดยปกติแล้วจะเลือกใช้ "engines": {"node": ">=18"} ซึ่งเป็นเพียงคำเตือน ไม่ใช่ข้อผิดพลาด แต่อุปกรณ์จะถือคำเตือนนี้เป็นไปตามมาตรฐาน และผู้ใช้งานก็สามารถจัดการได้อย่างถูกต้อง
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
ตัวตรวจสอบอีเมล
ตรวจสอบที่อยู่อีเมล: ตรวจไวยากรณ์ RFC 5322 ค้นหา MX เรกคอร์ดแบบเรียลไทม์ พร้อมรายละเอียดส่วนท้องถิ่น โดเมน และความยาว ไม่มีการส่งอีเมลใด ๆ
เครื่องมือสร้าง EditorConfig
สร้างไฟล์ .editorconfig ด้วยกฎสไตล์และขนาดการเยื้อง การจบบรรทัด ชุดอักขระ และช่องว่างของคุณ เพื่อให้การจัดรูปแบบสอดคล้องกันในทุก IDE และโปรแกรมแก้ไข
ตัวลดรูปพีชคณิตบูลีน
ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Trình tạo package.json [VI]
- Package.json-generator [SV]
- package.json-Generator [DE]
- Generador de Package.json [ES]
- مولد package.json [AR]
- Package.json 생성기 [KO]
- Générateur de package.json [FR]
- Generator package.json [ID]
- Package.json-generator [NL]
- Generator package.json [PL]
- PackageJsonジェネレータ [JA]
- Gerador de Package.json [PT]
- Package.json Generator [EN]
- Generatore di Package.json [IT]
- Генератор package.json [RU]
- Package.json Oluşturucu [TR]
- package.json 生成器 [ZH]