我可以在CoffeeScript文件中使用普通的JavaScript吗?

got*_*tqn 16 javascript ruby-on-rails coffeescript

我想在Ruby on Rails应用程序中添加一些JavaScript代码.我已经为我创建了一些js.coffee文件,用于我的资产中的每个视图.因为,我不熟悉CoffeeScript,我只是在文件中传递一些普通的JavaScript/jQuery行,例如:

if ($('#cart').length == 1) { $('#cart').hide("blind", {direction: "vertical" }, 1000); }

$('#cart tr').not('.total_line').remove();
Run Code Online (Sandbox Code Playgroud)

但抛出以下错误:

错误:第1行的解析错误:意外的'POST_IF'(在/ home/gotqn/Aptana Projects/depot/app/assets/javascripts/carts.js.coffee中)

指出了来源

显示/ home/gotqn/Aptana Projects/depot/app/views/layouts/application.html.erb第6行引出:

在第6行的这个文件中我得到了:

<%= javascript_include_tag "application" %>
Run Code Online (Sandbox Code Playgroud)

我是Ruby on Rails的新手,但我想要发生的事情是我无法在CoffeeScript中编写简单的JavaScript.如果这是真的,我是否只能删除.coffe扩展名并确保Rails魔法可以正常工作并加载文件?

red*_*nce 26

来自coffeescript.org上的文档:

希望您永远不需要使用它,但如果您需要在CoffeeScript中散布JavaScript代码片段,则可以使用反引号直接传递它.

所以是的,你可以在CoffeeScript中使用JavaScript - 只需将它包围在反引号(`)中.

不过,您最好将代码转换为CoffeeScript.

  • "不过,建议您只是将代码转换为CoffeeScript,这是非常明智的." - 或者,你知道,根本不使用它. (17认同)
  • 同意@redhotvengeance,我们并不总是希望学习另一种语言的负担来完成工作. (2认同)