0

インターネットからケーキのスニペットをいくつかコピーして、プロジェクトのビルドを自動化しようとしました。

ビルド タスクには 2 つのバージョンがあります。1つはexecを使用します:

{exec} = require 'child_process'
task 'build', 'Build project from src/*.coffee to lib/*.js', ->
  exec 'coffee --compile -m --output lib/client scripts/client/', (err, stdout, stderr) ->
    throw err if err
    console.log stdout + stderr

  exec 'coffee --compile -m --output lib/server scripts/server/', (err, stdout, stderr) ->
    throw err if err
    console.log stdout + stderr

そして1つはスポーンを使用します:

task "build2", "build and watch with spawn",->
    client = spawn "coffee", ["--compile", "--map", "--output", "lib/client", "scripts/client"]
    client.stdout.on "data", (data)->console.log data.toString().trim()

    server = spawn "coffee", ["--compile", "--map", "--output", "lib/server", "scripts/client"]
    server.stdout.on "data", (data)->console.log data.toString().trim()

プロジェクトを手動でコンパイルし、サーバーを起動し、それが機能することを確認してから、2 つのタスクを実行しました。どちらもエラー メッセージなしで返されました。

次に、クライアント側の coffeescript に明らかに間違った行を 1 つ追加し、"123/gff&&728709§""" のようにして、両方のタスクを再度実行しました。

  • exec を使用したタスクがクラッシュし、「throw err, Command failed」というエラー メッセージが表示される
  • スポーンを伴うタスクは黙って戻ってきました。クラッシュしませんが、コードにエラーを記録しません

coffeescript を構築するために Cake を使用する正しい方法は何ですか? コードを修正するにはどうすればよいですか?

4

0 に答える 0