express new 'filename'
ผมได้ติดตั้งแอพลิเคชันโดยใช้คำสั่ง ฉันเพิ่งเรียนรู้ว่าคุณสามารถเริ่มใช้งานแอปพลิเคชันโดยใช้:
npm start
ป่านนี้ฉันได้ใช้:
node app.js
เพื่อเริ่มต้นเซิร์ฟเวอร์ของฉัน ไม่มีใครรู้ว่าความแตกต่างระหว่างสองคืออะไร? ขอบคุณ
express new 'filename'
ผมได้ติดตั้งแอพลิเคชันโดยใช้คำสั่ง ฉันเพิ่งเรียนรู้ว่าคุณสามารถเริ่มใช้งานแอปพลิเคชันโดยใช้:
npm start
ป่านนี้ฉันได้ใช้:
node app.js
เพื่อเริ่มต้นเซิร์ฟเวอร์ของฉัน ไม่มีใครรู้ว่าความแตกต่างระหว่างสองคืออะไร? ขอบคุณ
คำตอบ:
จากหน้าคนเริ่มต้น NPM:
เรียกใช้สคริปต์ "เริ่มต้น" ของแพคเกจหากมีให้ หากไม่ได้ระบุเวอร์ชันไว้จะเริ่มเวอร์ชัน "แอ็คทีฟ"
เป็นที่ยอมรับว่าคำอธิบายนั้นไม่ช่วยเหลืออย่างสมบูรณ์และนั่นคือทั้งหมดที่กล่าวไว้ อย่างน้อยก็มีเอกสารมากกว่า socket.io
อย่างไรก็ตามสิ่งที่เกิดขึ้นจริงคือ npm ดูในไฟล์package.jsonของคุณและหากคุณมีสิ่งที่ชอบ
"สคริปต์": {"start": "coffee server.coffee"}
จากนั้นมันจะทำเช่นนั้น หาก npm ไม่พบสคริปต์เริ่มต้นของคุณจะมีค่าเริ่มต้นเป็น:
node server.js
เอกสารได้รับการปรับปรุง คำตอบของฉันมีการเปลี่ยนแปลงที่สำคัญเทียบกับคำตอบที่ยอมรับได้: ฉันต้องการสะท้อนเอกสารเป็นปัจจุบันและคำตอบที่ยอมรับมีลิงก์ที่ใช้งานไม่ได้
นอกจากนี้ฉันไม่เข้าใจเมื่อคำตอบที่ยอมรับตอบว่า "เป็นค่าเริ่มต้นnode server.js
" ฉันคิดว่าเอกสารอธิบายพฤติกรรมเริ่มต้นชัดเจนขึ้น:
NPM เริ่มต้น
เริ่มแพ็คเกจ
สรุป
npm start [-- <args>]
ลักษณะ
นี้จะทำงานคำสั่งโดยพลการระบุไว้ในแพคเกจ "
start
คุณสมบัติ" ของ "scripts
วัตถุ" ถ้าไม่มี "start
" ทรัพย์สินที่ระบุไว้ใน "scripts
" วัตถุมันจะทำงานnode server.js
โดยสรุปการวิ่งnpm start
สามารถทำหนึ่งในสองสิ่งต่อไปนี้:
npm start {command_name}
: เรียกใช้คำสั่งโดยพลการ (เช่นถ้าระบุคำสั่งดังกล่าวในstart
คุณสมบัติของscripts
วัตถุของ package.json )npm start
: อื่นถ้าไม่มีstart
คุณสมบัติ (หรือไม่command_name
ผ่าน): Run node server.js
(ซึ่งอาจไม่เหมาะสมตัวอย่างเช่น OP ไม่มีserver.js
; OP ทำงานnode
app.js
)package.json
ในไดเรกทอรีที่คุณเรียกใช้npm start
คุณอาจเห็นข้อผิดพลาด:npm ERR! enoent ENOENT: no such file or directory, open '.\package.json'