[解決済み] npm startとnode app.jsの比較
質問
私はNodeの超初心者で、アプリの基本について理解しようとしています。なぜこれらの2つのコマンドがあるのか、興味があります。
node app.js
--vs--
<ブロッククオートnpmスタート
はコンソールに同じことを出力し、リスニングを続けているように見えます。 http://localhost:3000 にアクセスしようとすると、最初のコマンドを実行したときだけ 404 が表示されます。
Express 4 はアプリの構造が違うようですが、コンソールでは同じ動作なのに、一方は正常にリッスンでき、もう一方はできないのはなぜでしょうか。
どんな説明でも助かります。ありがとうございます。
どのように解決するのですか?
この2つのコマンドは、必ずしも同じものではありません。
npm start
は、'package.json' で定義された 'start' スクリプトを実行するように設定されていれば、何でも実行します。
node app.js
は'node'の'app.js'ファイルを実行します。参照
http://browsenpm.org/package.json
を参照してください。つまり、以下のようなpackage.jsonがあった場合、コマンドは全く別のものになります。
{
"name": "my cool node project",
....
"scripts": {
"start": "node index.js"
}
....
}
以下のpackage.jsonは、両者を同一にするためのものです。
{
"name": "my cool node project",
....
"scripts": {
"start": "node app.js"
}
....
}
まず、'start' スクリプトが何を実行するように設定されているかを確認し、同じコマンドを NPM 経由ではなく CLI で直接実行してみて、どこに違いがあるのかを確認します。
しかし、なぜ一方は正常にリッスンし、もう一方はリッスンしないのでしょうか?
サーバーが 404 を返している場合、サーバーはリッスンしていますが、ドキュメント ルートまたはアクセス許可が適切に設定されていないため、「File not Found」応答が返されることを示唆していると思われます。
関連
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] npm WARN package.json: リポジトリフィールドがありません
-
[解決済み] npm installの-saveオプションは何ですか?
-
[解決済み] インストールされているnpmパッケージのバージョンを検索する
-
[解決済み] npm package.jsonファイルのdependencies, devDependencies, peerDependenciesの違いは何ですか?
-
[解決済み] Bowerとnpmの違いは何ですか?
-
[解決済み] Node.jsのnpmモジュールをアンインストールするにはどうすればよいですか?
-
[解決済み] npmはどこにパッケージをインストールするのですか?
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] アプリを起動するときの `npm start` と `node app.js` の違い?
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
-
[解決済み] V8 Javascript エンジンのスタンドアロン実行