Coffeescript作为Javascript低调的小弟实在是有过人之处,使用它可以增进开发效率,减少代码错误, 关键是能大幅提升开发愉悦感。我越来越觉得只要可能就在自己的项目中把coffee用起来。
然而也许你和我一样,在了解完coffeescript的语法后准备一试身手的时候,却面对如何把它引入项目而犯起愁来。
像老板一样指挥你的代码
CoffeeScript提供了一堆酷毙了的数组迭代方法。最好的事莫过于这不仅仅能工作于数组,还能工作于jQuery对象...
我不太了解助手在视图/控制器中的工作方式.我没用过
我的具体问题是:几乎所有视图都实现了AJAX.在我的大多数控制器中,update.js.coffee和create.js.coffee具有以下代码的某种形式:jQuery -><% if @product.errors.any? %>error_info = '<%= j(render :partial => "shared/errors", :locals => { :record => @product }) %>'popup error_info<% else %>
.
.
.弹出窗口是显示某些元素的JavaScript函数.
有没有一种方法可以将其抽象...
我实际上试图在同一个项目中使用coffeescript和typescript.
事实上,我希望能够在编码时选择我喜欢哪一个.
事实是,由于使用coffeescript生成的javascript,typescript生成的javascript似乎没有按预期工作
说明:
我用coffeescript编写了一个Controller类,当我在coffeescript文件中扩展它时,它运行得很好:Controller = require('../node_modules/Controller/Controller')class HelloController extends ControllerindexAction: (name...
我正在编写一个骨干应用程序,我想编写一个经过身份验证的装饰器,可以用来装饰路由器类中的方法(路由)列表.
因此,我使用了几种方法的路由器,并尝试了类似的方法.但是,当我调用要装饰的路线时,装饰器未连接.class MyApp extends Backbone.Routerroutes: '' : 'home''foo' : 'foo''bar' : 'bar'authenticated: ['foo', 'bar'] initialize: ->@decorateAuthenticatedFunctions() decorateAuthenticatedFunction...
我目前正在开发一个利用Express.js和Mongoose的node.js Web服务.最近,我认为我会尝试使用CoffeeScript,因为我听说会有一些好处.但是,我注意到有些不安,我很好奇有人是否可以澄清.
这是我使用纯JavaScript的路线之一:router.post('/get/:id', decorators.isManager, function(req, res) {Group.findById(req.params.id, function(err, grp) {if(err) res.status(500).end();if(grp == null) res.status(500).send('The group could...
害怕我在如何将这个JavaScript转换为类中的CoffeeScript时犯了一个简单的错误
在这original example of a world map我们有一个功能:var quantize = d3.scale.quantize().domain([0, .15]).range(d3.range(9).map(function(i) { return "q" + i + "-9"; }));然后在渲染地图时调用它:.attr("class", function(d) { return quantize(rateById.get(d.id)); })我们留下类似class =“q8-9这就是我们想要的东西.
将其转换为CoffeeScript...
我有一个对象(一个“关联数组”,也就是说 – 也称为普通的JavaScript对象):obj = {}
obj["Foo"] = "Bar"
obj["bar"] = "Foo"我想使用CoffeeScript迭代obj,如下所示:# CS
for elem in obj上面的CS代码编译成JS:// JS
for (i = 0, len = obj.length; i < len; i++)这种情况不合适.
JavaScript的方式是(obj中的var键),但现在我想知道:我怎么能在CoffeeScript中做到这一点?解决方法:用于L. Relevant documentation的x,y.ages = {}...
参见英文答案 > Ember computed properties in Coffeescript 3个当我尝试转换以下代码片段时……result.pause = function() { cachedValue = this();isPaused(true);
}.bind(result);使用http://js2coffee.org/它返回result.pause = ->cachedValue = this()isPaused true
.bind(result)但是,当您尝试编译它时,该代码是不正确的,您将返回Error Unexpected’.’
使用CoffeeScript在这种情...
我试图在我的腰带上提供一些例子,说明你如何在CoffeeScript中使用不同的方法来实现JavaScript.在这个排队函数的例子中,我对如何在CoffeeScript中处理它感到困惑wrapFunction = (fn, context, params) ->return ->fn.apply(context, params) sayStuff = (str) ->alert(str)fun1 = wrapFunction(sayStuff, this, ['Hello Fun1'])fun2 = wrapFunction(sayStuff, this, ['Hello Fun2'])funqueue = []funqueue.push(fun1)funqueu...
我的朋友在他的CoffeeScript代码中使用($document).on.这是否与通常的$(文件).on不同,如果是这样,以什么方式?解决方法:在CoffeeScript中,使用参数调用函数不需要括号.
例如:console.log("Hello") // Hello
console.log "Hello" // Hello所以,请考虑这些是等价的:$document = $(document)
$document = $document
$document = ($document)但是,在某些情况下,括号是消除意义歧义所必需的.
例如,您希望在返回$()函数时调用on函数:...
我试图找到一种从CoffeeScript文件自动生成Javascript的方法,就像你在Sinatra中一样容易做到这样:require 'sinatra'
require 'coffee-script'
get '/*.js' doname = params[:splat][0]file_name = File.join("#{name}.coffee")pass unless File.exists?(file_name)content_type(:js, :charset => 'utf-8')coffee(IO.read(file_name))
end这样,在我的代码中,即使我只有.coffee文件,我也可以像.js文件一样存在.与使用客户端CoffeeSc...
我在这里有一个典型的JavaScript代码示例(将背景样式类应用于表中交替的奇数或偶数行的代码).我试图在CoffeeScript中重写这个,试图学习它. CoffeeScript范围语法不同,更具Ruby特色.我真的很感激你如何做到这一点的一个例子?function alternate(id){ if(document.getElementsByTagName){ var table = document.getElementById(id); var rows = table.getElementsByTagName("tr"); for(i = 0; i < rows.length; i++){ ...
我正在我的网络应用程序中使用Jasmine进行一些测试.我正在使用Coffeescript来编写我的模型,服务和视图模型.class MyViewModelconstructor: ( @options ) ->@alert = new AlertelementId: 'my-alert-element-id'@service = new MyServicealertId: @alert.elementId现在我用茉莉花写一个测试describe 'MyViewModel', ->sut = nullbeforeEach ->sut = new MyViewModel()afterEach ->sut = nulldescribe 'constructor()', ->it 'create...
参见英文答案 > ) over arrow (->) and vice versa' rel='nofollow' target='_blank'>CoffeeScript, When to use fat arrow (=>) over arrow (->) and vice versa 4个我是CoffeeScript的新手.我今天碰到了这个.example -> a ->和example ->b =>瘦箭和胖箭的区别是什么?
有人可以解释这些差异以及何时应该使用它们.解决方法:胖箭=>定义一个绑定到当前值的函数.
这对于回调尤其方便.
注意生成的...
Node.js 基于JavaScript编写应用,JavaScript是我的主要开发语言。CoffeeScript是编译为JavaScript的编程语言。其实CoffeeScript语言因其可以一对一的翻译为JavaScript的特性,使用起来也非常灵活。将其引入项目的方式也有很多种,在此,我将使用coffeescript编写node.js项目的方法做一个汇总。
直接使用coffee指令运行纯coffeescript项目
一般提起coffeescript,自然而然地会想到他是javascript的小弟,总脱离不了js的阴影。其实你...