Câu trả lời:
Từ trang người đàn ông , npm bắt đầu:
chạy tập lệnh "bắt đầu" của gói, nếu được cung cấp. Nếu không có phiên bản nào được chỉ định, thì nó sẽ bắt đầu phiên bản "hoạt động".
Phải thừa nhận rằng mô tả đó hoàn toàn không có ích, và đó là tất cả những gì nó nói. Ít nhất đó là tài liệu nhiều hơn socket.io.
Nhưng dù sao, những gì thực sự xảy ra là vẻ NPM trong bạn package.json tập tin, và nếu bạn có một cái gì đó như
"script": {"start": "coffee server.coffee"}
sau đó nó sẽ làm điều đó Nếu npm không thể tìm thấy tập lệnh bắt đầu của bạn, nó sẽ mặc định là:
nút server.js
Các tài liệu đã được cập nhật . Câu trả lời của tôi có những thay đổi đáng kể so với câu trả lời được chấp nhận: Tôi muốn phản ánh tài liệu được cập nhật và câu trả lời được chấp nhận có một vài liên kết bị hỏng.
Ngoài ra, tôi không hiểu khi câu trả lời được chấp nhận nói "nó mặc định là node server.js". Tôi nghĩ rằng tài liệu làm rõ hành vi mặc định:
bắt đầu
Bắt đầu một gói
Tóm tắc
npm start [-- <args>]Sự miêu tả
Điều này chạy một lệnh tùy ý được chỉ định trong thuộc tính "
start" củascriptsđối tượng "" của gói . Nếu không có thuộc tính "start" được chỉ định trênscriptsđối tượng "", nó sẽ chạynode server.js.
Tóm lại, chạy npm startcó thể làm một trong hai điều:
npm start {command_name}: Chạy một lệnh tùy ý (nghĩa là nếu lệnh đó được chỉ định trong thuộc starttính của scriptsđối tượng của gói.json )npm start: Khác nếu không có thuộc starttính nào tồn tại (hoặc không command_nameđược thông qua): Chạy node server.js, ( có thể không phù hợp , ví dụ OP không có server.js; OP chạy nodeapp.js)package.jsontrong thư mục nơi bạn chạy npm start, bạn có thể thấy lỗi:npm ERR! enoent ENOENT: no such file or directory, open '.\package.json'