TECHTOGOU

coffeescript

全部标签

javascript - 通过转译器在 Javascript 中实现运算符重载

对于我们中的一些人来说,使用Javascript的问题之一是缺少运算符重载。这使得编写数字库变得很尴尬。例如,我们可能想写这样的东西:vara=newBigInteger(5);varb=newBigInteger(10);varc=a+b;一个可能的解决方案是将具有运算符重载的语言转换为Javascript。虽然可行——通过函数调用和类型检查替换运算符——但共识似乎是,如果不降低性能,这是不可能的。由于这个原因,CoffeeScript拒绝了这个想法:https://github.com/jashkenas/coffee-script/issues/846但是真的没有聪明的解决办法吗

javascript - 禅编码 : ability to ascend the DOM tree using ^

我fork了优秀的zen-coding项目,想用^实现DOM提升-所以你可以这样做:html>head>title^body>h1而不是html>(head>title)+body>h1最初我使用相当粗制滥造的正则表达式方法来实现。我现在已经使用@Jordan的优秀答案实现了。我的forkishere我还想知道的是否存在我的函数返回错误值的情况? 最佳答案 免责声明:我从未使用过zen-coding,这只是我第二次听说它,所以我不知道可能的问题是什么。也就是说,这似乎是一个可行的解决方案,或者至少非常接近于一个可行的解决方案。我正在

javascript - 如何给用coffeebar编译的文件下命令

我希望能够在使用coffeebar将我的coffeescript文件编译成js时包含具有给定顺序的文件。我想首先包含文件settings.coffee、constants.coffee--|--settings.coffee|--constants.coffee|--page1.coffee|--page2.coffee代码片段fs=require'fs'{exec,spawn}=require'child_process'util=require'util'task'watch','CoffeebarCombin

javascript - Coffeescript unexpected token ILLEGAL,但不应该有任何非法内容

这真是令人气愤。我在我的代码中找不到任何我在做非法事情的地方,但由于某种原因,调用fork会破坏我的程序。这是代码。相关部分在svgToPNG中,我称之为fork。{fork}=require'child_process'{Coral}=require'coral'svgToPNG=(svg,reply,log)->log"convertingSVGtoaPNG"#setupachildprocesstocallconvertsvg:png:-convert=fork'/usr/bin/env',['conv

javascript - Laravel 5 扩展 Elixir 以包含 browserify

我的browserify工作流程(从coffee到js,使用browserify-shim和coffeeify)是这样的:我有2个主要文件,app.coffee和_app.coffee,分别用于前端和后端。这两个文件分别位于resources/coffee/front和resources/coffee/back中。我正在尝试在laravelelixir中包含browserify任务,因此结果文件将位于public/js/app.js和public/js/_app.js并且稍后可以修改到build文件夹。到目前为止,我已经尝试通过在elixir的node_modulesingredien

javascript - Grunt : Watch multiple files, 编译仅更改 - livereload 中断?

我是Grunt和Javascript/Coffeescript的新手。我们在一个包含数百个.coffee-文件的相当大的项目中使用Grunt。由于Grunt编译所有咖啡文件(虽然只有一个文件发生了变化),我最初的问题是如何让Grunt只编译一个发生变化的文件。使用stackoverflow我能够回答这个问题,谢谢大家:)但现在看来,实现的解决方案破坏了livereload。当我从“gruntserver”开始并在浏览器中显示我的页面时,一切看起来都很好。然后我更改一个.coffee文件并保存它。该文件已编译(我检查过),但我的浏览器从未重新加载。只有当我手动重新加载浏览器时,新修改的代

javascript - 如何在 PhantomJS 或 CasperJS 中导入其他 javascript 模块

我正在尝试使用CasperJS构建功能测试。caseperjs由后端测试套件使用以下命令运行:PHANTOMJS_EXECUTABLE=../client/node_modules/phantomjs/bin/phantomjs../client/ext_modules/casperjs/bin/casperjstest../client/test/functional/init.coffee在init.coffee中,我想导入/包含紧挨着它的其他模块(文件)。怎么做?以下不起作用:require("user")我只想从其他文件中获取内容到init.coffee

javascript - 编译 CoffeeScript 时如何保留目录结构?

我是Coffeescript的新手,我不知道应该把它们放在哪里。例如。我有我的应用程序文件夹:app/app.jstests/unit/all.jsetc当我在node.js上使用“coffee”runner来查看我在根文件夹中的文件时,它会生成js文件到我指定的文件夹中,例如。js.所以如果要观看的文件夹是这样的:app/app.coffeetests/unit/all.coffeeetcJS文件将生成到:js/app.jsjs/all.jsetc如您所见,我丢失了js文件夹层次结构。您应该如何保留原始文件夹层次结构?谢谢 最佳答案

javascript - 类型转换问题,如何使用旧的 == 而不是 ===

我真的很喜欢Coffeescript,但最近让我发疯的一件事是if语句中数字和字符串的类型问题。通常这不是问题,因为当你使用==时Javascript不关心,但Coffeescript将所有比较转换为===。有没有办法恢复草率的旧==比较?我喂了傻瓜,但我还没有在上面找到任何东西。原因是我使用出色的http://js2coffee.org/转换了其他人的代码使其更易于阅读,但随后我输入了类型转换问题,因为==比较被===取代。不用说,我他妈懒得重构整个代码;)。 最佳答案 这是设计使然。引自书中CoffeeScript:Accele

javascript - 如何在 CoffeeScript 中克隆/复制对象的实例?

相当直截了当的问题,但谷歌搜索还没有发现任何东西。如何在Coffeescript中复制/克隆/复制对象的实例?我总是可以创建一个clone()方法来返回一个带有复制值的新实例,但这似乎是一种容易出错的方法。CoffeeScript是否提供更简单的解决方案? 最佳答案 这可能有效。clone=(obj)->returnobjifobjisnullortypeof(obj)isnt"object"temp=newobj.constructor()forkeyofobjtemp[key]=clone(obj[key]