2017-02-07 13 views
0

クライアント側でtypescript、nodejsでバックエンドでexpressjを使用しています。クライアント側のファイルを変更するたびに(.ts & .html)私のノードサーバーをポート3000で動かしている間に保存された変更が得られないので、ng-2 lite-serverのためにnpm startを実行して、変更を取得するようにリフレッシュする必要があります。 SystemJSのような単一のモジュールローダーが必要です。これは、ng2で使用しているモジュールローダーである必要があります。または、保存後に変更を加えるために私のサーバーに別のsystemjsが必要です。私のサーバーファイルでnodeJSは、npm startで再コンパイルせずにangularjs2ファイルをリフレッシュしてください

私は静的ファイルをロード

app.use(express.static(path.join(__dirname, 'client'))); 

持っており、私は彼らがNG2のためのアプリケーションモジュールをロードすることを学ぶのラインを持っているindex.htmlファイルをロードする

<script src="systemjs.config.js"></script> 
<script> 
    System.import('app').catch(function(err){ console.error(err); }); 
</script> 

私のサーバは上記のコードを含んでいるindex.htmlをロードしているので、nodejsを期待して、それに応じて更新されたファイルをロードするように表現するか、nodejsがシステムの代わりにcommonJSを使用するからですか?

これは正しい方法ですか、ng2とnodejの統合方法が良いですか?

この側面にはどのような効率的なオプションがありますか?

答えて

1

ノードサーバーを実行するためにpm2を使用することをお勧めします。 --watchフラグはノードを再起動します(正常ではないが素早く)。あなたのAngularアプリケーションがノードappフォルダ内にある場合、ノードはただフラグを指定して再起動します。それ以外の場合は、指定されたパスを--watchフラグに渡すことができます。

pm2はNodeのプロダクション品質ツールで、ローカルでもすばらしい結果を得ています。

詳細:http://pm2.keymetrics.io/docs/usage/watch-and-restart/
例のCMD:pm2 start index.js --watch

関連する問題