目前正在处理this有关将 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>
从 CDN 加载 Backbone、jQuery 等后加载一个 index.js
文件。希望在 script.coffee
文件中工作,我希望该文件自动编译到 index.html
加载的 script.js
文件中上面通过运行类似 coffee script.coffee -c -w.
问题是,当我尝试在以下 script.coffee
文件上运行上述命令时,出现了 ReferenceError
:
jQuery ->
class ListView extends Backbone.View
el: $ 'body'
initialize: ->
_.bindAll @
@render()
render: ->
$(@el).append '<ul><li>Hello, Backbone!</li></ul>'
list_view = new ListView
例如:
ReferenceError: jQuery is not defined
...
因为很明显,jQuery 正在 index.html
文件中加载。
有没有办法抑制 CoffeeScript 编译器的错误报告,以便它只转换代码而不会出现错误?
最佳答案
选项必须位于文件之前,例如:
coffee -cw script.coffee
否则,它将尝试立即将 script.coffee
作为 Node.js 脚本运行,并向其传递选项 -c
和 -w
。那不是你想要的;如果您希望 CoffeeScript 编译器获取选项,它必须位于文件名之前。
关于javascript - CoffeeScript:抑制 "ReferenceError",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20296440/