Tag: coffeescript

Angular with CoffeeScript和Jade for前端,Node,Express和CoffeeScript用于后端

我即将开始在MS环境之外开发Web应用程序。 一直在search不同的技术栈,看看最吸引人的地方。 经过大约一周的search,探索,看着一大堆PluralSitevideo,我开始非常喜欢下面的组合的想法: 结合使用Node.js和Express框架,使用CoffeeScript作为主要语言来开发后端 使用AngularJS和Jade模板一起使用CeffeeScript作为主要语言来开发前端SPA。 我的问题是:我的两个select都是完全有效的吗?

Socket.io Nodejs CoffeeScript在socket.on中获取套接字和当前inheritance的类variables

我遇到了一个问题,我需要套接字和类实例,但无法得到它们。 我有configuration文件在哪里事件如:消息,发布,共享。 我有以下代码: module.exports = class Controller constructor : (container) -> @_routes = null _generateRoutes : (routes) -> @_routes = routes _bind : (socket) -> instance = @ for route in @_routes # TODO : fix this socket.on route['event'], (data) -> instance[route['action']](@, data) 问题是,我可以从该表中调用任何事件,它总是以共享事件结束。 我认为这可能是实例[route ['action]]中的问题。 有没有办法明确说我只想要一个variables的值,而不是函数中的当前variables? 所以每次我只能直接绑定套接字动作,或者只是在inheritance类中使用=>类实例时才能获得套接字。 感谢您的回应

Coffeescript数组范围没有界限

我正在学习coffeescript和我的一些代码使用非常方便的数组范围语法。 我的理解是使用[a..b]包含结果中的索引a和b ,并且[a…b]在结果中排​​除索引b 。 另外,我还以为[a..]会到达数组的末尾, [..b]会从数组的开头开始。 现在我的问题是,我有一些代码需要采取整个数组除了最后一个元素。 我定义它是 parameters[…] 认为这将排除最后一个元素(我没有指定一个端点,所以它应该走到最后, …是独占的)。 但是在我的testing中,它看起来像 parameters[…] == parameters[..] 所以我最终不得不写 parameters[…-1] 这对我来说很丑陋 我做错了什么,或者这是语言的错误/故意的一部分?

Hubot CronJobfunction

不能想出如何实现这一点。 我试图让Hubot定期在特定的时聊频道中调用一个函数。 目前,我可以通过让用户键入聊天“Hubot totalviewers”来完成此操作,而hubot将返回当前查看者的数量。 关键是让hubot自己做,而不必让用户键入命令(每分钟都会发生)。 任何文件,例子或帮助将不胜感激。

Firebase …使用node.js脚本添加/更新Firebase

我有任意的JSON,这是明智的布局如下: [ { "id":100, "name":"Buckeye, AZ", "status":"OPEN", "address":{ "street":"416 S Watson RD", "city":"Buckeye" … } } ] 我已经写了一个node.js脚本来certificate这个概念(为什么我使用的是JS API似乎比REST或者Ruby更好,我可能是错的): http = require('http') Firebase = require('firebase') all_sites_url = "http://supercharge.info/service/supercharge/allSites" firebase_url = "https://tesla-supercharger.firebaseio.com/" http.get(all_sites_url, (res) -> body = "" res.on "data", (chunk) -> body += chunk return res.on "end", -> response = JSON.parse(body) all_sites = response send_to_firebase(response) […]

node.js如何编译coffeescript?

我正在使用coffeescript当前的node.js项目,使用以下命令启动项目(在我的项目文件夹中) coffee app.coffee 哪个启动节点应用程序。 然而,我不知道node.js如何与coffeescript交互 – 是编译到临时文件夹吗?

如何在javascript中编译coffeescript代码的string?

假设我在nodejs的javascript文件中有一串coffeescript代码。 我怎么能把这个string转换成javascript,而不使用terminal? 我试过coffeescript编译器 ,但它给了我关于一个封闭的套接字错误。 我已经安装了全局的coffeescript,并且在本地安装了coffee-script编译器。 编辑:这是代码: var Compiler = require('coffeescript-compiler'); var cc = new Compiler(); cc.compile('a = 5', function (status, output) { if (status === 0) { // JavaScript available as a string in the `output` variable } }); 这是它引发的错误: events.js:72 throw er; //unhandled 'error' event Error: This socket is closed. at Socket._write (net.js:637:19) at […]

触摸文件,然后在Node中写入

在写入之前如何触摸文件? 尝试 fs = require 'fs' os = require 'os' path = require 'path' json_filepath = path.join os.tempdir(), 'cache', 'foo.json' module.exports = (cb) -> fs.open json_filepath, 'w', 438, (err) -> # Touch, also tried with node-touch return cb err if err? fs.writeFile json_filepath, {foo: 'bar'}, {}, (err) -> #console.error 'Error writing cache: ', err cb […]

将范围保持在Async.js中

鉴于Coffeescript中的以下课程: class MyClass extends events.EventEmitter someObj: null # set somewhere during constructor someMethod: () -> async.parallel([ @task1, @task2, @task3, ], (err, results) -> doSomething() task1: (callback) -> @someObj.funnyMethod() # fails callback() ); 最后一行的@someObj.funnyMethod()调用失败: TypeError: Cannot read property 'funnyMethod' of undefined 显然, this是指callback中的上下文。 对于正常的callback,我已经学会了使用胖箭头操作符=>而不是瘦-> 。 用async.js(或者其他类似的库)处理这个干净的方法是什么?

在Node中,如何检查一个特定的对象是否是一个ChildProcess的实例

我试图检查(在unit testing)如果一个特定的对象是一个ChildProcess,但我似乎无法得到该类的引用(这是https://github.com/joyent/node/blob /7c0419730b237dbfa0ec4e6fb33a99ff01825a8f/lib/child_process.js ) 我想要做的是类似的东西 selenium = require('selenium-standalone') spawnOptions = { stdio: 'pipe' } seleniumArgs = ['-Dwebdriver.chrome.driver=./node_modules/nodewebkit/nodewebkit/chromedriver'] @server = selenium(spawnOptions, seleniumArgs) expect(server).to.be.an.instanceof(ChildProcess) 但我似乎并不知道在哪里得到对ChildProcess的引用 更新:基于提供的答案,我现在正在testing使用: it 'start()', (done)-> selenium.start.assert_Is_Function() selenium.start -> selenium.server.assert_Is_Not_Null() selenium.server.constructor.assert_Is_Function() selenium.server.constructor.name.assert_Is('ChildProcess') done()