我想将CoffeeScript与Nano.js一起使用,这是一个简约的CouchDB模块.在JavaScript中,要求是:var nano = require('nano')('http://127.0.0.1:5984');但是,没有关于如何在CoffeeScript中编写此文档的文档?nano = require 'nano', 'http://127.0.0.1:5984'结果是:nano = require('nano', 'http://127.0.0.1:5984');哪个不起作用.解决方法:由于您正在调用一个调用函数的函数,因此您执行的操作是不明确的. CoffeeScript中需要使用括号来...
我正在尝试用Coffeescript阅读一个文件.在我进入咖啡仓库的同一个文件夹中,我有一个名为hello.txt的文件.coffee> fs = require 'fs' coffee> x = fs.readFile "hello.txt" undefined coffee> x undefined我究竟做错了什么?解决方法:您没有将回调传递给readFile以实际读取该文件.有关详细信息,请参见docs.通常,nodejs方法是异步的,因为平台的异步性质.对于其中一些,有一个同步版本.实际上,您可以使用readFileSync方法读取文件.
在python中,我可以在运行时将函数放入变量,然后使用getattr函数调用它method = getattr(self,self.name) method()在Coffeescript中有类似的方法吗?谢谢! 使用zeekay建议但使用类将是:class Testfoo: -> alert 'foo'foo2: methodName -> this[methodName]()x = new Test x.foo2('foo')解决方法:在Javascript对象中是关联数组,您可以使用属性的名称作为键来访问属性/方法:obj =method: -> 'xxx' method = obj['method'] method()...
我正在使用Rails 5.0.2构建Web应用程序.我有我的项目的JS文件:此外,我对每个自己的JS文件都有类似的模式,如下所示:$(function () {var init = function () {// my code, I want to run on specific page load i.e. /remarks$('form#cf_remarks_form').validate(validate_options);};init();document.addEventListener("turbolinks:load", function () {init();}); });关于使用JS资产我有以下保留/问题: >默认情况下,Rails附加(并...
CoffeeScript中这个类有什么问题?@module "Euclidean2D", ->class @Pointconstructor: (x,y) -> return if Float32Array? then Float32Array([ x, y ]) else Array(x,y)我希望它表现得像:p = new Point(1.0,2.0); p[0] == 1.0 p[1] == 2.0但是使用Jasmine测试我得到“预期未定义为等于1”.describe "Point", ->beforeEach ->@point = new Euclidean2D.Point(1.0,2.0)it "extracts values", ->(expect @point[0]).toEqual 1.0(exp...
我正在使用coffeescript编写一个应用程序,用咖啡烤面包机(一个非常棒的NPM模块进行拼接)来构建我的app.js文件. 我的许多应用程序类和模板需要有关当前用户的信息,所以我有一个类User(扩展Backbone.Model)的实例存储为我的主Application类的属性(扩展Backbone.Router). 作为初始化例程的一部分,我从服务器中获取用户(负责身份验证,角色,帐户切换等).这是coffeescript:@user = new models.User @user.fetch() console.log(@user) c...
这是我的脚本:alert("why isn't this sorted right? #{["6","7","2","11","10","9","4","5","3","8","1"].sort (a,b) -> +a < +b }")您可以尝试运行它here. 结果将是:why isn’t this sorted right? 9,6,8,11,10,7,5,4,3,2,1我的问题是,为什么?我希望答案是11,10,9,8 …… 它可能与字符串与数字有关,但是“”将字符串强制转换为数字,无论如何,即使是字符串比较,结果也不是正确的排序.它似乎……随机.解决方法:作为@Keith comme...
目前我正在努力改进构建网络应用程序的工作流程.安装了Yeoman后,命令“grunt”为我提供了一个很好的方法来组合和缩小我的javascript文件.我的main.js文件是从很多coffeescript文件生成的,我之前手动做过.由于文件依赖性,我没有使用编译coffeescript的集成方法. (还行吧) 但问题出在这里:当我现在尝试运行“grunt”时,它从我生成的js文件中给出了“lint”错误,如:line 3 col 3 Missing "use strict" statement. line 3 col...
我在理解CoffeeScript中的解构赋值时遇到了一些麻烦. documentation包含几个示例,这些示例似乎一起暗示在分配期间重命名对象可用于投影(即映射,转换,变换)源对象. 我试图将a = [{Id:1,名称:’Foo’},{Id:2,名称:’Bar’}]投影到b = [{x:1},{x:2}].我试过以下但没有成功;我明显误解了一些事情.任何人都可以解释这是否可能? 我的穷人试图不归[[x:1??},{x:2}]a = [ { Id: 1, Name: 'Foo' }, { Id: 2, Name: 'Bar' } ]# Huh? ...
我熟悉隐藏模式方法,但我仍然围绕对象原型. 我正在尝试创建一个基本类来控制我网站上的某个部分.我遇到的问题是在不同的范围内丢失已定义的类变量.例如,下面的代码工作正常,并在对象内完美地创建属性.但是,当我跳转到jQuery回调时,我失去了所有关于存储一些jQuery对象的类变量的知识以供多种用途. 有没有办法从回调函数中获取它们?class SessioninitBinds: ->@loginForm.bind 'ajax:success', (data, status, xhr) ->console.log(...
似乎我尝试这种方式,它会引发某种错误.这是我的代码现在的样子:runShow: ->moments = @model.get('moment_stack_items')if inc == moments.lengthinc = 1pre = 0$("#" + moments[pre].uid).hide("slide", { direction: "left" }, 1000)$("#" + moments[inc].uid).show("slide", { direction: "right" }, 1000)inc += 1pre += 1console.log "looping" + inct = setTimeout(this.runShow(),2000);我在我的活动中调用了这个函数.我在...
基于this example(有效):var Comment = new Schema();Comment.add({title : { type: String, index: true }, date : Date, body : String, comments : [Comment] });我想创建一个CoffeeScript版本mongoose = require 'mongoose' Schema = mongoose.SchemaPerson = new Schema Person.addmother: Personfather: Person但它返回错误,我不明白为什么TypeError: undefined is not a functionat CALL_NON_FUNCTION_AS_CONSTRUCTOR (nat...
我正在尝试在我的代码中使用underscore’s debounce函数,并且我将我的类的方法作为第一个参数传递,但_.debounce告诉我,我正在传递函数应该是的未定义参数.class SomeClassclick: _.debounce @_save, 600_save: =># Save logic另一方面,如果我这样做,它可行,但这个解决方案似乎有点难看.class SomeClassclick: _.debounce ( -> @_save()), 600_save: =># Save logic当我检查生成的两个函数的JS源代码时,似乎两者都应该正常工作,不知...