KOA Serverを自動的に再ロードします
質問
koa で遊んで遊んで始めましたが、これまでに再ロードするためのまともな解決策を見つけることができませんでした。コードが変更されたときのアプリケーション。
私の理解は、 nodemon が、ノードユニバース内の推奨ソリューションですが、--harmony
のためにエラーを取得しています。フラグ(KOAに必要):
$ node_modules/.bin/nodemon /path/to/node-unstable/bin/node app.js
/path/to/node-unstable/bin/node --harmony $@
^^^^^^^
SyntaxError: Unexpected identifier
[nodemon] app crashed - waiting for file changes before starting...
. 解決
node_modules/.bin/nodemon --harmony-generators app.js
は十分であるべきです
他のヒント
あなたに「PM2」をお勧めしたい:> http://pm2.keymetrics.io/
PM2はプロセスマネージャです。 アプリケーションの状態を管理するため、プロセスを開始、停止、再起動、削除できます。
PM2(一般的にマシンに)タイピングを簡単にインストールできます。 sudo npm install -g pm2
基本的にPM2あなたのコードの変化を見ると、彼はあなたのプロセスがクラッシュした場合にあなたのプロセスを再起動し、エラーが記録されます。 詳細については、ドキュメントページを調べてください。 >> http://pm2.keymetrics.io/docs/usage/cluster-mode/ <../ a>
このGULPタスクの「execmap」オプションの設定:
var nodemon = require('gulp-nodemon');
gulp.task('serve-dev', function() {
var options = {
script: './src/server/app.js',
execMap: {
"js": "node --harmony"
},
delayTime: 1,
env: {
'PORT': port,
'NODE_ENV': 'dev'
},
watch: ['./src/server/']
};
return nodemon(options);
});
.
明らかにあなたの他のオプションは異なるかもしれませんが、私が答えの中で裸の最小値を見るために何かを見るときに私を悩ませているときに私は私を悩ませているので私は全体を含めました。
最近、KOAを使用した単純なWeb APIの作成を終了しました。NOREFERRER「> BABEL-WATH
それを使用することの利点はすでにレポに記載されています:
あなたがヌデモン(または同様の解決策)と一緒にBabel-Nodeを使用するのにうんざりしている場合。前述のセットアップが非常に悪いの理由は、Babelノード自体の起動時刻です。Babel-Watchは「マスター」プロセスでBabelのみを開始します。そこでファイルウォッチャーも起動します。転送はそのプロセスでも実行されます。ファイル - ウォッチャーイベントでは、純粋なノードプロセスを生成し、ソースマップと一緒に親プロセスからトランパー付きコードを渡します。これにより、JSスクリプト/アプリを再起動するたびにBabelとそのすべてのDEPSのロードを回避できます。