coffeescript:压制"ReferenceError"

fox*_*fox 2 javascript jquery coffeescript backbone.js

目前,通过工作教程中使用Backbone.js的与CoffeeScript的.

利用以下index.html文件:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>CoffeeScript, Meet Backbone.js: Part N</title>
  <link rel="stylesheet" href="style.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
  <script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>
  <script src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.6/underscore-min.js"></script>
  <script src="http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js"></script>
  <script type="text/javascript" src="./index.js"></script>

</head>
<body>
  <header>
    <h1>CoffeeScript, Meet Backbone.js: Part 1</h1>
  </header>
</body>


</html>
Run Code Online (Sandbox Code Playgroud)

它加载一个index.js从CDN加载骨干,jQuery的,等以后文件.希望在script.coffee我希望通过运行类似的东西自动编译到上面script.js加载的文件的文件中工作index.htmlcoffee script.coffee -c -w.

麻烦的是,ReferenceError当我尝试在以下script.coffee文件上运行上述命令时,我正在尝试:

jQuery ->

  class ListView extends Backbone.View

    el: $ 'body'

    initialize: ->

      _.bindAll @
      @render()

    render: ->
      $(@el).append '<ul><li>Hello, Backbone!</li></ul>'

  list_view = new ListView
Run Code Online (Sandbox Code Playgroud)

例如:

ReferenceError: jQuery is not defined
...
Run Code Online (Sandbox Code Playgroud)

因为,很明显,jQuery正在加载到index.html文件中.

有没有办法抑制coffeescript编译器的错误报告,以便它只是转换代码没有错误?

ick*_*fay 10

选项必须文件之前,例如:

coffee -cw script.coffee
Run Code Online (Sandbox Code Playgroud)

否则,它将尝试在script.coffee那时作为Node.js脚本运行,并传递选项-c-w.那不是你想要的; 如果您希望CoffeeScript编译器获取选项,则必须在文件名之前.