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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我可以在CoffeeScript文件中使用普通的JavaScript吗?相关的知识,希望对你有一定的参考价值。

我想在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();

但抛出以下错误:

错误:第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" %>

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

答案

来自coffeescript.org的文档:

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

所以是的,你可以在CoffeeScript中使用JavaScript - just surround it in backticks

`function greet(name) {
return "Hello "+name;
}`

# Back to CoffeeScript
greet "Coffee"
# => "Hello Coffee"

hello = `function (name) {
return "Hello "+name
}`
hello "Coffee"
# => "Hello Coffee"

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

以上是关于我可以在CoffeeScript文件中使用普通的JavaScript吗?的主要内容,如果未能解决你的问题,请参考以下文章