0

ファイルを gitに保存.coffeeし、いくつかの git フックを使用してサーバー側でコンパイルする必要がありますか、それともファイル.coffee.jsファイルの両方を SCM に保存し、サーバーでコーヒーを無視する必要がありますか?

余分な SCM スペースの使用を除いて、コンパイルされた .js ファイルを保存することの欠点はありますか? 各サーバーにノード、npm、コーヒーをインストールする必要はありません。

4

1 に答える 1

1

私が見たワークフローは、Rails と Node.js 向けのものです。私の現在のプロセスはそれらに基づいており、次のようになります。

  1. .coffee ファイルを保持する/assets/src/coffee
  2. コンパイル済みの .js ファイルを保持し、次/assets/jsのように参照します。/js/foo.js
  3. アプリの外部にある .js ファイル (グラフ作成ユーティリティなど) を/assets/lib
  4. /assets/jsソース管理から除外する
  5. coffeescript ファイルがまだコンパイルされていない場合は、オンザフライでコンパイルするようにミドルウェアを設定します。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

于 2013-02-07T21:16:08.867 に答える