W przypadku projektu korzystającego z interfejsu CLI zwykle będzie używany plik ng serv. W innych przypadkach możesz użyć npm start. Tutaj szczegółowe wyjaśnienie:
ng służyć
Będzie obsługiwać projekt, który jest `` świadomy Angular CLI '', tj. Projekt, który został utworzony przy użyciu Angular CLI, w szczególności przy użyciu:
ng new app-name
Tak więc, jeśli zbudowałeś projekt za pomocą CLI, prawdopodobnie będziesz chciał użyć ng serv
npm start
Może to być użyte w przypadku projektu, który nie jest świadomy Angular CLI (lub może być po prostu użyte do uruchomienia 'ng serv' dla projektu, który jest świadomy Angular CLI)
Jak podają inne odpowiedzi, jest to polecenie npm, które uruchomi polecenie (polecenia) npm z pliku package.json, które mają identyfikator „start”, a nie wystarczy uruchomić polecenie „ng serv”. W pliku package.json może znajdować się coś podobnego do następującego:
"scripts": {
"build:watch": "tsc -p src/ -w",
"serve": "lite-server -c=bs-config.json",
"start": "concurrently \"npm run build:watch\" \"npm run serve\""
...
},
"devDependencies": {
"concurrently": "^3.2.0",
"lite-server": "^2.2.2",
W takim przypadku polecenie „npm start” spowoduje wykonanie następujących poleceń:
concurrently "npm run build:watch" "npm run serve"
Spowoduje to jednoczesne uruchomienie kompilatora TypeScript (obserwującego zmiany kodu) i uruchomienie serwera lite-server Node (którego użytkownicy BrowserSync)
start
polecenie wscripts
obiekcie w twoimpackage.json
robi? Jak myślisz, dlaczego w ogóle jest jakaś różnica?