ng serve
は開発サーバー経由でAngularプロジェクトを提供します
npm start
は、パッケージの "scripts"オブジェクトの "start"プロパティで指定された任意のコマンドを実行します。 「scripts」オブジェクトに「start」プロパティが指定されていない場合は、ノードserver.jsが実行されます。
ng serve
は組み込みサーバーを起動し、npm start
はNodeサーバーを起動するようです。
誰かがそれにいくつかの光を投げることができますか?
npm start
は、package.json
ファイル内のstart
オブジェクトのscripts
コマンドに定義したものがすべて実行されます。
それでそれがこのように見えるならば:
"scripts": {
"start": "ng serve"
}
npm start
はng serve
を実行します。
CLIを使用しているプロジェクトの場合、通常はng serveを使用します。それ以外の場合は、npm startを使用することをお勧めします。ここで詳細な説明:
is 'Angular CLI aware'というプロジェクト、つまりAngular CLIを使用して作成されたプロジェクト、特に次のものを提供します。
ng new app-name
そのため、CLIを使用してプロジェクトを足場にした場合は、おそらくng serveを使用することになります。
これは not Angular CLIに対応していないプロジェクトの場合に使用できます(またはAngularであるプロジェクトに対して 'ng serve'を実行するために使用できます。 CLI対応)
他の回答者が述べているように、これは識別子 'start'を持つpackage.jsonからnpmコマンドを実行するnpmコマンドであり、 'ng serve'を実行する必要はありません。 package.jsonに次のようなものを含めることができます。
"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",
この場合、 'npm start'を実行すると、以下のコマンドが実行されます。
concurrently "npm run build:watch" "npm run serve"
これはTypeScriptコンパイラを同時に実行し(コードの変更を監視し)、Node lite-server(どのユーザがBrowserSyncを実行します)を実行します。
文書から
これは、パッケージの "scripts"オブジェクトの "start"プロパティで指定された任意のコマンドを実行します。 「scripts」オブジェクトに「start」プロパティが指定されていない場合は、ノードserver.jsが実行されます。
つまり、package.json内の起動スクリプトが呼び出されます。
"scripts": {
"start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite --baseDir ./app --port 8001\" ",
"lite": "lite-server",
...
}
ngサーブ :
Angular-cliによって作成されたangular2アプリを起動するためにangular/angular-cliによって提供されます。 angular-cliをインストールすると、(Windows用の)C:\Users\name\AppData\Roaming\npm
の下にng.cmdが作成され、"%~dp0\node.exe" "%~dp0\node_modules\angular-cli\bin\ng" %*
が実行されます。
npm start
を使用すると、ng serve
はangular-cli専用です。独自の実行を行うことができます。
関連項目: ng serveを実行するとどうなりますか?
あなたはng serveを使うべきです。そのためnpm startは同じことを実行するスクリプトです。もっと効率的な方法は不要なスクリプトを越えて直接ng serveを呼び出すことです。
それ以上のものがあります。実行された実行可能ファイルは異なります。
npm run start
node_modules/.binにあるローカル実行可能ファイルをプロジェクトで実行します。
ng serve
グローバルな別の実行可能ファイルを実行します。
つまり、Angular-Cliバージョン5で作成されたグローバルなCLIバージョン7で作成されたAngularプロジェクトを複製してインストールすると、ng buildに問題が生じる可能性があります。