私は Node.js + Express 4 を学習しており、アプリを実行するコマンドは次のようになります。
$>DEBUG=node:* ./bin/www
そして、このコマンドは何をしますか?
次のようにアプリを実行するにはどうすればよいですか。
$>node app.js
PS: phpStrom で実行する必要があり、構成の最初のコマンドで設定できません。
最初に、Express アプリは、何らかのポートでリッスンしている、開始されたExpress アプリ オブジェクトにすぎないことを理解することが重要だと思います (ex1 を参照)。linux hashbang or shebang
この例の最初の行で、次のファイルを実行するために使用する必要があるインタープリターの種類をシェルに指示する行である aと呼ばれるものを見ることができます。したがって、ノード hashbang を使用してファイルを作成し、.js 拡張子を削除して、./ を使用して実行することができ./{myscript}
ます。
基本を理解したので、express-generator を使用してアプリを作成したことは間違いありません。これは実際に、DEBUG=node:* ./bin/www
. は、/bin フォルダー内のファイルを./bin/www/
実行するだけです。www
これは基本的に、アプリ インスタンスをインポートしてapp.js
起動し、イベントのリッスンを開始する http サーバーを起動するノード ハッシュバングを含む JavaScript ファイルです。DEBUG={name}:*
コマンドはnpm debug
npm debug linkで使用されます。どのデバッグ機能を使用すべきかをパッケージに伝えるだけです。ワイルド*
カードであること:それらすべてをすべて使用します(情報については、npmデバッグパッケージのドキュメントを参照してください)。
#!/usr/bin/env node
var express = require('express')
var app = express()
app.get(function(req, res) {
res.send('Hello')
})
app.listen(8080, function(){
console.log('Server started on port:8080')
})
コマンドが長すぎるために入力したくない場合のヒント: のスクリプト セクションに追加することをお勧めしますpackage.json
。
'scripts': {
'start': 'DEBUG=node:* ./bin/www'
}
その後、次を使用して実行できますnpm start
誰かが私と同じ問題を抱えている場合は、私が見つけた回答を投稿しています:
./bin/www - app.js ファイルと http サーバーの作成を含むカプセル化された Linux 実行可能ファイルです。これで、「ノード」なしでアプリを実行できるようになりました。./bin/www と入力して Enter をクリックするだけです。
DEBUG=node:* - どのように機能するかわかりません。デバッグ モードに切り替えるだけです (単純にこれを切り取りました)。
構成設定の phpStrorm で実行するには、.js ファイルの代わりに ./bin/www を記述して、phpStorm デバッグ環境でアプリを実行できるようにします。