3

私は Node.js + Express 4 を学習しており、アプリを実行するコマンドは次のようになります。

$>DEBUG=node:* ./bin/www

そして、このコマンドは何をしますか?

次のようにアプリを実行するにはどうすればよいですか。

$>node app.js

PS: phpStrom で実行する必要があり、構成の最初のコマンドで設定できません。

4

2 に答える 2

6

最初に、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

于 2015-02-25T21:02:23.297 に答える
1

誰かが私と同じ問題を抱えている場合は、私が見つけた回答を投稿しています:

./bin/www - app.js ファイルと http サーバーの作成を含むカプセル化された Linux 実行可能ファイルです。これで、「ノード」なしでアプリを実行できるようになりました。./bin/www と入力して Enter をクリックするだけです。

DEBUG=node:* - どのように機能するかわかりません。デバッグ モードに切り替えるだけです (単純にこれを切り取りました)。

構成設定の phpStrorm で実行するには、.js ファイルの代わりに ./bin/www を記述して、phpStorm デバッグ環境でアプリを実行できるようにします。

于 2015-02-03T10:28:49.507 に答える