Cakefile构建任务在出错时崩溃

时间:2013-03-23 09:48:07

标签: javascript node.js coffeescript build-automation

我从互联网上复制了一些蛋糕片段,并尝试自动构建我的项目。

构建任务有两个版本。一个使用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

,一个使用spawn:

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()

我手动编译了我的项目,启动了服务器,检查了它是否有效,然后执行了这两项任务。他们都返回时没有出现错误信息。

然后我在客户端coffeescript中添加了一条明显错误的行,就像“123 / gff&&728709§”“”并再次执行这两项任务:

  • exec的任务崩溃并显示错误消息“throw err,Command failed”
  • spawn的任务以静默方式返回。它不会崩溃,但也不会记录我的代码中的错误

使用蛋糕制作咖啡的正确方法是什么?我该如何修复我的代码?

0 个答案:

没有答案