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

问题描述 投票:15回答:1

我想在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魔法可以正常工作并加载文件?

javascript ruby-on-rails coffeescript
1个回答
26
投票

来自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。

© www.soinside.com 2019 - 2024. All rights reserved.