ในฐานะที่เป็น Sagiv BG ออกมาชี้ที่คำสั่งเป็นทางลัดสำหรับnpm start
npm run start
ฉันแค่อยากจะเพิ่มตัวอย่างชีวิตจริงเพื่อให้ชัดเจนขึ้น
การตั้งค่าด้านล่างมาจากcreate-react-app
repo 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