ng serve
melayani proyek Angular melalui server pengembangan
npm start
menjalankan perintah sewenang-wenang yang ditentukan dalam properti "mulai" paket dari objek "skrip" -nya. Jika tidak ada properti "mulai" yang ditentukan pada objek "skrip", itu akan menjalankan node server.js.
Sepertinya ng serve
memulai server tertanam sedangkan npm start
memulai server Node.
Adakah yang bisa menjelaskannya?
angular
angular-cli
ishandutta2007
sumber
sumber
start
perintah itu discripts
objek di Andapackage.json
tidak? Menurut Anda mengapa ada perbedaan sama sekali?Jawaban:
npm start
akan menjalankan apa pun yang telah Anda tetapkan untukstart
perintahscripts
objek dipackage.json
file Anda .Jadi jika terlihat seperti ini:
Maka
npm start
akan berjalanng serve
.sumber
node server.js
(yang akan gagal jika file itu tidak ada di sana).npm start
lebih baik. Untuk menggunakanng serve
Anda perlu menginstal sudut sudut global atau referensi dari bin modul node.Untuk proyek yang menggunakan CLI, Anda biasanya akan menggunakan layanan ng. Dalam kasus lain, Anda mungkin ingin menggunakan start npm. Berikut penjelasan terperinci:
ng layani
Akan melayani sebuah proyek yang merupakan 'angular CLI sadar', yaitu sebuah proyek yang telah dibuat dengan menggunakan sudut CLI, terutama menggunakan:
Jadi, jika Anda telah membuat scaffolded proyek menggunakan CLI, Anda mungkin ingin menggunakan layanan ng
mulai npm
Ini dapat digunakan dalam kasus proyek yang tidak menyadari CLI Angular (atau hanya dapat digunakan untuk menjalankan 'ng serve' untuk proyek yang sadar CLI Angular)
Seperti jawaban lainnya menyatakan, ini adalah perintah npm yang akan menjalankan perintah npm dari package.json yang memiliki pengenal 'start', dan tidak hanya harus menjalankan 'ng serve'. Mungkin untuk memiliki sesuatu seperti yang berikut ini di package.json:
Dalam hal ini, 'npm start' akan menghasilkan perintah berikut untuk dijalankan:
Ini secara bersamaan akan menjalankan compiler TypeScript (mengawasi perubahan kode), dan menjalankan Node lite-server (yang pengguna BrowserSync)
sumber
Dari dokumen
npm-start :
Ini menjalankan perintah arbitrer yang ditentukan dalam properti "mulai" paket dari objek "skrip" -nya. Jika tidak ada properti "mulai" yang ditentukan pada objek "skrip", itu akan menjalankan node server.js.
yang artinya akan memanggil skrip start di dalam package.json
ng layani :
Disediakan oleh angular / angular-cli untuk memulai aplikasi angular2 yang dibuat oleh angular-cli. ketika Anda menginstal angular-cli, itu akan membuat ng.cmd di bawah
C:\Users\name\AppData\Roaming\npm
(untuk windows) dan mengeksekusi"%~dp0\node.exe" "%~dp0\node_modules\angular-cli\bin\ng" %*
Jadi menggunakan
npm start
Anda dapat membuat eksekusi Anda sendiri di manang serve
hanya untuk angular-cliLihat Juga: Apa yang terjadi ketika Anda menjalankan layanan?
sumber
npm ERR! missing script: start
Ada lebih dari itu. Eksekusi yang dieksekusi berbeda.
akan menjalankan proyek Anda yang dapat dieksekusi secara lokal yang terletak di node_modules / .bin Anda.
akan menjalankan executable lain yang bersifat global.
Ini berarti jika Anda mengkloning dan menginstal proyek Angular yang dibuat dengan angular-cli versi 5 dan versi global cli Anda adalah 7, maka Anda mungkin memiliki masalah dengan ng build.
sumber
Jika Anda ingin menjalankan aplikasi sudut porting dari komputer lain tanpa
ng
perintah kemudian editpackage.json
sebagai berikutTerakhir jalankan
npm start
perintah biasa untuk mulai membangun server.sumber