ในฐานะที่เป็น Sagiv BG ออกมาชี้ที่คำสั่งเป็นทางลัดสำหรับnpm start npm run startฉันแค่อยากจะเพิ่มตัวอย่างชีวิตจริงเพื่อให้ชัดเจนขึ้น
การตั้งค่าด้านล่างมาจากcreate-react-apprepo GitHub การpackage.jsonกำหนดกลุ่มของสคริปต์ที่กำหนดกระแสที่แท้จริง
"scripts": {
"start": "npm-run-all -p watch-css start-js",
"build": "npm run build-css && react-scripts build",
"watch-css": "npm run build-css && node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/ --watch --recursive",
"build-css": "node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/",
"start-js": "react-scripts start"
},
เพื่อความชัดเจนฉันเพิ่มไดอะแกรม

กล่องสีน้ำเงินเป็นการอ้างอิงถึงสคริปต์ทั้งหมดนี้คุณสามารถดำเนินการโดยตรงด้วยnpm run <script-name>คำสั่ง แต่อย่างที่คุณเห็นจริง ๆ แล้วมีเพียง 2 กระแสการปฏิบัติ:
npm run start
npm run build
กล่องสีเทาเป็นคำสั่งที่สามารถดำเนินการได้จากบรรทัดคำสั่ง
ตัวอย่างเช่นหากคุณเรียกใช้npm start(หรือnpm run start) ที่แปลเป็นnpm-run-all -p watch-css start-jsคำสั่งซึ่งดำเนินการจาก commandline
ในกรณีของฉันฉันมีnpm-run-allคำสั่งพิเศษนี้ซึ่งเป็นปลั๊กอินยอดนิยมที่ค้นหาสคริปต์ที่เริ่มต้นด้วย "build:" และดำเนินการทั้งหมดเหล่านั้น จริง ๆ แล้วฉันไม่มีรูปแบบที่ตรงกับที่ แต่มันยังสามารถใช้เพื่อรันคำสั่งหลายคำสั่งแบบขนานซึ่งทำที่นี่โดยใช้-p <command1> <command2>สวิตช์ ดังนั้นนี่จะรัน 2 สคริปต์คือและwatch-css start-js(สคริปต์ที่กล่าวถึงล่าสุดคือผู้เฝ้าดูที่ไฟล์มอนิเตอร์เปลี่ยนแปลงและจะเสร็จสิ้นเมื่อถูกฆ่า)
โดยสรุปnpm startคำสั่งสามารถกำหนดค่าได้ หากคุณต้องการรู้ว่ามันทำอะไรคุณต้องตรวจสอบpackage.jsonไฟล์ (และคุณอาจต้องการทำแผนภาพเล็ก ๆ น้อย ๆ เมื่อสิ่งต่าง ๆ มีความซับซ้อน)
npmคุณเรียกใช้สคริปต์เช่นนี้npm run scriptName,npm startยังเป็นสั้นnpm run start