Tag: coffeescript

我可以确定一个string是否是MongoDB ObjectID?

我正在通过将string转换为BSON来进行MongoDB查找。 有没有一种方法可以让我确定在转换之前,我所拥有的string是否为Mongo的有效ObjectID? 这里是我当前的findByID函数的coffeescript。 它工作的很好,但我想查找一个不同的属性,如果我确定string不是一个ID。 db.collection "pages", (err, collection) -> collection.findOne _id: new BSON.ObjectID(id) , (err, item) -> if item res.send item else res.send 404

CoffeeScript:对象初始化器中的Getter / Setter

ECMAScript允许我们定义getter或setter如下: [文本/ JavaScript的] var object = { property: 7, get getable() { return this.property + 1; }, set setable(x) { this.property = x / 2; } }; 如果我正在使用一个类,我可以解决这个问题: [文本/ CoffeeScript的] "use strict" Function::trigger = (prop, getter, setter) -> Object.defineProperty @::, get: getter set: setter class Class property: '' @trigger 'getable', -> 'x' member: 0 但是,如果我想直接在对象上定义触发器, […]

有没有任何语言编译为Bash?

我既爱又恨编写Bash。 我喜欢这样简化操作文件和处理stream程(我同意这个stream行的问题 ,在这方面比Python,Ruby等更好),但我讨厌的语法,特别是在条件,循环等。 (这是主观的,但我觉得这两个令人困惑和烦人。例如,当阅读时,无功,但无论写作时;写入静静地失败,如果有空格左右;;如果使用正则expression式双括号;有时双分号和单分号其他人等) 作为一个编译为JS的CoffeeScript的狂热粉丝,我一直在想:是否有任何语言具有像Python / Ruby / CoffeeScript这样的语言的美学/语法,但是它们是作为Bash而不是其他运行时? 例如,我希望能够使用更简单的语法来编写大部分Bash: $AGGREGATE_FILENAME = 'allfiles.txt' if not exists $AGGREGATE_FILENAME touch $AGGREGATE_FILENAME for $file in files/* cat $file >> $AGGREGATE_FILENAME switch $1 case 'test' run-tests echo 'Tests finished!' case 'deploy' echo 'Packaging…' mv foo bar/ deploy-bar 这是一个超级人为的例子,语法是一个稻草人(主要来自CoffeeScript,但保留了一stream命令的基本Bash概念,与variables分开,以及松散的打字)。 无论如何,只是一个问题和思考的食物。 我希望能够写出比Bash更好的脚本。 =)谢谢!

Grunt:观看多个文件,只编译更改

我是Grunt的新手,到目前为止我非常享受。 我希望Grunt在运行grunt watch时只编译更改的文件 在我的Grunfile.coffee中,我现在有(相关部分)。 注意:assets / javascript / app.coffee和assets / javascript / app.js是目录 coffee: default: expand: true cwd: "assets/javascript/app.coffee" src: ["*.coffee"] dest: "assets/javascript/app.js" ext: ".js" uglify: dev: options: beautify: true compress: false mangle: false preserveComments: 'all' files: "js/app.js": "assets/javascript/app.js/*.js" "js/libs.js": "assets/javascript/libs/*.js" watch: coffeescript: files: 'assets/javascript/**/*.coffee' tasks: ["coffee"] javascript: files: "assets/**/*.js" tasks: ["uglify:dev"] livereload: files: ["Gruntfile.coffee", […]

CoffeeScript如何在CoffeeScript中编写?

所以作为一个新的web程序员(背景是C,C ++和Python),没有javascript的经验(或基于我所见过的经验),我一直在做一些关于CoffeeScript的前期研究,我真的很喜欢我懂了。 我注意到一个很酷的小细微差别就是CoffeeScript是用CoffeeScript编写的,这很酷……但是我不太明白这是怎么可能的。 不幸的是,在我上一次的高级计算机科学课程中,我select了networking安全而不是编译器。 我听说有人用目标语言编写语言来解释使用该语言的现有编译器,但我不能挖掘任何有关如何工作的信息,因为这是第一个实现。 我的猜测是一个embedded式的shell脚本,可能会考虑为构build一个自引用 ( 这个术语是否恰当地描述这种行为?)语言的一些初始框架?

通过Node.js将base64编码的图像上传到Amazon S3

昨天,我做了一个深夜编码会议,并创build了一个小node.js / JS(实际上是CoffeeScript,但CoffeeScript只是JavaScript,所以可以说JS)的应用程序。 目标是什么: 客户端发送一个canvas数据(PNG)到服务器(通过socket.io) 服务器上传图像到亚马逊S3 步骤1完成。 服务器现在有一个string拉 data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACt… 我的问题是: 我的下一步将数据“stream”上传到Amazon S3并在那里创build实际的映像? knox https://github.com/LearnBoost/knox看起来像一个很好的库,把一些东西给S3, 但我缺less的是base64编码图像string和实际上传行为之间的粘合 ? 任何想法,指针和反馈的欢迎。 很多,franz

Coffeescript:如何将string转换为数字?

我正在构build一个POST请求中发送的JSON对象。 此对象具有在发送之前需要从stringtypes转换为整数types的属性。 如何用咖啡文字做这个?

在CoffeeScript中理解的对象

有没有办法从coffeescript的理解返回一个对象? 这样我可以expression这一点: form_values = () -> ret = {} ret[f.name] = f.value for f in $('input, textarea, select') return ret 喜欢这个: form_values = () -> f.name, f.value for f in $('input, textarea, select') 我想构build一个单一的对象 (不是一个对象数组)。 所以如果标记看起来像这样: <form name=blah> <input type=text name=blah1 value=111 /> <textarea name=blah2>222</textarea> <select name=blah3> <option value=333a> <option value=333b> </select> </form> 返回的对象将是这样的: { […]

在javascript中创build一个ISOdate对象

我有一个mongo数据库设置。 在mongoDb中创build一个新的date对象以ISO格式创build一个date对象,例如: ISODate("2012-07-14T00:00:00Z") 我正在使用node.js连接到mongo数据库并查询数据库。 当我创build一个新的date对象( new Date() )在JavaScript中它创build一个javascriptdate对象例如: Wed Mar 06 2013 14:49:51 GMT-0600 (CST) 有没有办法在JavaScript中创build一个ISOdate对象,以便我可以直接发送对象到mongoDb并执行date查询 我可以在mongoDb中执行下面的查询 db.schedule_collection.find({ start_date: { '$gte': new Date(2012, 01, 03, 8, 30) } }) 但是当我从节点发送javascriptdate对象时不能执行 mongodb食谱提供了一个python示例来查询使用datetime模块的mongo数据库,但是没有提供任何使用javascript的例子。 任何帮助表示赞赏。 提前感谢你

如何在CoffeeScript中显式返回对象

这工作: myfunc = () -> id: 3 name: 'myname' 但是我想明确一下返回对象。 myfunc = () -> return id: 3 name: 'myname' 但是我得到“意想不到的”INDENT“”错误。 上面的代码有什么问题?