ファイルを gitに保存.coffee
し、いくつかの git フックを使用してサーバー側でコンパイルする必要がありますか、それともファイル.coffee
と.js
ファイルの両方を SCM に保存し、サーバーでコーヒーを無視する必要がありますか?
余分な SCM スペースの使用を除いて、コンパイルされた .js ファイルを保存することの欠点はありますか? 各サーバーにノード、npm、コーヒーをインストールする必要はありません。
ファイルを gitに保存.coffee
し、いくつかの git フックを使用してサーバー側でコンパイルする必要がありますか、それともファイル.coffee
と.js
ファイルの両方を SCM に保存し、サーバーでコーヒーを無視する必要がありますか?
余分な SCM スペースの使用を除いて、コンパイルされた .js ファイルを保存することの欠点はありますか? 各サーバーにノード、npm、コーヒーをインストールする必要はありません。
私が見たワークフローは、Rails と Node.js 向けのものです。私の現在のプロセスはそれらに基づいており、次のようになります。
/assets/src/coffee
/assets/js
のように参照します。/js/foo.js
/assets/lib
/assets/js
ソース管理から除外するconnect-coffee-script
が一番気に入りました。Rails でのプロセスは、私の記憶の限りではかなり似ています。
余分な SCM スペースの使用を除いて、コンパイルされた .js ファイルを保存することの欠点はありますか? 各サーバーにノード、npm、コーヒーをインストールする必要はありません。
コンパイルされた js をソースに入れる正当な理由はわかりません。ミドルウェアは、コーヒーを js に変換する処理を行う必要があります。また、サーバーにコーヒーをインストールすることに何の不利益もないと思います。ビルド プロセスの一部として npm update を実行する必要があり、それを処理する必要があります。
これを設定するためのコードは次のとおりです。
var app = express();
...
srcFolder = path.join(__dirname, 'assets', 'src', 'coffee');
publicFolder = path.join(__dirname, 'assets');
app.configure(function () {
...
app.use(require('connect-coffee-script')({
src:srcFolder, dest:path.join(publicFolder, 'js'), force:true
}));
また、Windows 7 でこれを実行する際にいくつかの問題があったことに注意することも重要です。ノードのファイルウォッチャーにはいくつかの問題があるようです。したがって、開発中にこれを実行するコマンド ウィンドウが必要ですcoffee -o ./assets/js -wc ./assets/src/coffee
。