我可以在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吗?的主要内容,如果未能解决你的问题,请参考以下文章

CoffeeScript:在函数调用中展开数组

一组可供 Rails 应用程序使用的 CoffeeScript/JavaScript 类和方法

为啥使用javascript函数包装器(在coffeescript中添加)“.call(this)”

CoffeeScript中对于在NetBeans 8.0插件:设置目标文件夹JS编译

coffeescript、jade、stylus -> js、css 资产管理器?节点.js

如何使用 CoffeeScript 而不是 JSON?对于配置文件等