web-gelistirme-sc.com

Uygulamayı başlatırken `npm start` &` node app.js` arasındaki fark?

express new 'filename' komutunu kullanarak bir uygulama yükledim. Yeni bir uygulama kullanarak şunları başlatabileceğinizi öğrendim:

npm start

Şimdiye kadar kullandım:

node app.js

sunucumu başlatmak için İkisi arasındaki farkın ne olduğunu bilen var mı? Teşekkürler.

180
ReneGAED

man sayfası ile npm başlangıcı:

eğer varsa bir paketin "start" betiğini çalıştırır. Bir sürüm belirtilmemişse, "aktif" sürümü başlatır.

Kuşkusuz, bu açıklama tamamen yararsızdır ve tüm söylediği bu. En azından socket.io'dan daha fazla belgelenmiştir.

Her neyse, gerçekte olan şey, npm'nin package.json dosyanızda göründüğü ve eğer böyle bir şeyiniz varsa

"script": {"start": "kahve sunucusu.kodası"}

o zaman bunu yapacak. Npm başlangıç ​​betiğinizi bulamazsa, varsayılan olarak:

server.js düğümü

254
Yusuf X

belgeler güncellendi . Cevabım, kabul edilen cevabın önemli değişikliklerine neden oldu: belgelerin güncel olduğunu ve kabul edilen cevabın birkaç kopuk bağı olduğunu göstermek istedim.

Ayrıca, kabul edilen yanıtın "varsayılan olarak node server.js" olduğunu söylediğini anlamadım. Belgelerin varsayılan davranışı netleştirdiğini düşünüyorum:

nPM-başlangıç

Bir paket başlat

Özet

npm start [-- <args>]

Açıklama

Bu, isteğe bağlı bir komut çalıştırırpaketin "start" özelliğinde "scripts" nesnesinin. "start" nesnesinde "scripts" özelliği belirtilmezse,çalışacaktır node server.js.

Özetle, npm start komutunu çalıştırmak iki şeyden birini yapabilir:

  1. npm start {command_name}: İsteğe bağlı bir komut çalıştırın (yani, böyle bir komut package.json's start nesnesinin scripts özelliğinde belirtilirse çalıştırın.
  2. npm start: start özelliği yoksa (ya da command_name iletilmezse) başka:: node server.js komutunu çalıştırın, (ki uygun olmayabilir ; server.js; OP çalıştırması nodeapp.js)
  3. Sadece 2 öğeyi listeleyeceğimi söyledim ama başka olasılıklar var (yani hata durumları). Örneğin, package.json dosyasını çalıştırdığınız dizinde npm start yoksa, bir hata görebilirsiniz: npm ERR! enoent ENOENT: no such file or directory, open '.\package.json'
9
The Red Pea