标签: coffeescript

与所有Node JS框架/库等混淆

我感到有点困惑,有很多框架与Node.js相关的'东西'.有人能够给我一个概述 - 以下图书馆/框架/其他相关/互动的方式 - 包含什么或主要目的是什么? - 他们之间的差异

此外,如果还有其他我已经离开我的列表,请随意添加它们以及它们是什么以及它们如何适合的描述.

  • 节点
  • CoffeeScript的
  • 骨干
  • 表达

node.js coffeescript express backbone.js

20
推荐指数
1
解决办法
5482
查看次数

Coffeescript运行函数或读取变量

说我有

msg = "Saved Successfully"
Run Code Online (Sandbox Code Playgroud)

要么

msg = -> "Saved #{@course.title} Successfully"
Run Code Online (Sandbox Code Playgroud)

无论如何要优雅地获取msg的值而不知道它是函数还是常规变量而不是做

success_message = if typeof msg is 'function' then msg() else msg
Run Code Online (Sandbox Code Playgroud)

coffeescript

20
推荐指数
1
解决办法
3888
查看次数

CoffeeScript - 使用JQuery On将事件绑定到动态加载的对象

致力于在Coffeescript中重写我的网站的前端.我理解如何将click函数绑定到类.

$('.song').click ->
    //code
Run Code Online (Sandbox Code Playgroud)

但是,我遇到了动态加载内容的一些问题.我知道在JQuery中,解决方法是使用"On"函数,如下所示:

$(document).on('click', '.song', function(){
    //code
});
Run Code Online (Sandbox Code Playgroud)

但我不确定这是如何转化为咖啡因的.我的印象是火箭箭头 - >转换为javascript中的匿名函数,但如果函数是其中一个参数,它是如何工作的?我尝试了很多不同的语法,但它们似乎都不起作用,谢谢!

ajax jquery coffeescript

20
推荐指数
2
解决办法
1万
查看次数

如何使用coffeescript对数组进行排序?

使用这样的数组:

users = [ 
   { id: 1, fname: 'Fred', lname: 'Flinstone', state: 'CA' }, 
   { id: 2, fname: 'George', lname: 'Winston', state: 'FL' },
   { id: 3, fname: 'Luke', lname: 'Skywalker', state: 'CA' }
]
Run Code Online (Sandbox Code Playgroud)

并且您希望使用coffeescript按姓氏排序,您可以这样做:

users.sort (a,b) ->
  return if a.lname.toUpperCase() >= b.lname.toUpperCase() then 1 else -1
Run Code Online (Sandbox Code Playgroud)

我尝试使用这样的函数:

sortBy = (field, reverse, primer) ->
    key = (x) ->
      return if primer? then primer x[field] else x[field]
    return (a,b) ->
      A = key a
      B = key b
      return (A …
Run Code Online (Sandbox Code Playgroud)

arrays sorting coffeescript

20
推荐指数
2
解决办法
2万
查看次数

在CoffeeScript中获取数组的最后一个元素

是否有快速(简短,明智的)方式来获取数组的最后一个元素(假设数组是非空的)?

我经常这样做:

last = array[array.length-1] 要么 last = array[-1..][0]

arrays coffeescript

20
推荐指数
4
解决办法
9694
查看次数

Coffeescript相当于python'pass'语句

在Python中,可以使用'pass'语句来做任何事情:

if true:
    pass
Run Code Online (Sandbox Code Playgroud)

coffeescript中有类似的陈述吗?我正在尝试执行switch语句,如果满足某些条件则不执行任何操作.

switch variable:
  when 5 then pass
  else do variable
Run Code Online (Sandbox Code Playgroud)

syntax coffeescript

20
推荐指数
4
解决办法
3640
查看次数

带有nvd3/d3的MultiBar图表仅显示x轴上每隔一个刻度的标签.我怎样才能让他们全部出现?

数据:

nvd3TestData = [
      {
        values:[
          {x:"M",y:1},
          {x:"T",y:2},
          {x:"W",y:3},
          {x:"R",y:3},
          {x:"F",y:4},
          {x:"S",y:5},
          {x:"U",y:6}
        ],
        key:"Apples"
      },
      {
        values:[
          {x:"M",y:5},
          {x:"T",y:2},
          {x:"W",y:6},
          {x:"R",y:8},
          {x:"F",y:2},
          {x:"S",y:4},
          {x:"U",y:1}
        ],
        key:"Zebras"
      }
    ]
Run Code Online (Sandbox Code Playgroud)

创建图表(从angularjs指令中提取):

nv.addGraph - > chart = nv.models.multiBarChart().stacked(true).showControls(false)

chart.xAxis
  .axisLabel(attrs.xAxisLabel)

chart.yAxis
  .axisLabel(attrs.yAxisLabel)
  .tickFormat(d3.format(',r'))


console.log element


d3.select(element[0].children[0])
  .datum(nvd3TestData)
  .call(chart)

nv.utils.windowResize(chart.update)
Run Code Online (Sandbox Code Playgroud)

输出:

产量

预期输出将包含所有7个标签:MTWRFSU

coffeescript d3.js angularjs nvd3.js

20
推荐指数
1
解决办法
2万
查看次数

如何在Coffeescript中使用setTimeout()

我似乎无法使用setTimeout()来调用我自己的函数之一.我可以使用setTimeout来调用alert(),但不能使用我自己编写的函数.这是重现问题的最简单的代码:

我有以下coffeeScript

    setTimeout(run, 1000)

    run = () ->
        console.log("run was called!")
Run Code Online (Sandbox Code Playgroud)

这会生成以下Javascript

    // Generated by CoffeeScript 1.6.3
    (function() {
      var run;

      setTimeout(run, 1000);

      run = function() {
        return console.log("run was called!");
      };

    }).call(this);
Run Code Online (Sandbox Code Playgroud)

控制台上没有任何内容.

coffeescript

20
推荐指数
2
解决办法
2万
查看次数

在Chrome中重新加载JavaScript

我知道你可以在Chrome开发者工具的Source面板中实时编辑JS,我知道有用于实时重新加载CSS的系统,但是你可以从源位置(URL或本地磁盘,重新加载JS)或以某种方式利用工作区,甚至可能作为Chrome开发者工具插件)?特别是这对于CoffeeScript-to-JS设置非常有用.

javascript google-chrome coffeescript livereload

20
推荐指数
1
解决办法
1万
查看次数

我可以使用socket.io-client连接到标准的websocket吗?

尝试使用socket.io-client连接到用Go编写的websocket服务器.我已经使用节点WebSocket库(npm)成功连接.所以工作的Websocket代码如下所示:

  goSocketPort = 6060
  url = "ws://localhost:#{goSocketPort}/streamresults/"
  ws = new WebSocket(url)

  ws.on('open', ->
    log "socket opened"
  )

  ws.on('message', (message) ->
      console.log('received: %s', message)
    #log "Socket message: #{JSON.stringify message}"
  )
Run Code Online (Sandbox Code Playgroud)

非常简单且有效 - 另一端的套接字以固定频率发送消息.但我最初尝试socket.io-client(npm)并且无法让它去.它肯定会将websocket列为首选的传输方式,但该死的如果我可以连接它:

socket = ioClient.connect("#{url}", {port: goSocketPort, transports: ['xhr-polling', 'websocket']}) 

socket.on("connect", (r) ->
  log "connected to #{url}"
)
Run Code Online (Sandbox Code Playgroud)

连接永远不会发生,因此没有任何on事件被触发,代码立即退出.我已经尝试过:将端口从网址中删除并将其添加到选项中,不使用传输选项(根据文档意味着"全部")并使用http网址.是socket-io.client不是能够连接到一个"标准"的WebSocket的?

websocket node.js coffeescript socket.io

20
推荐指数
1
解决办法
1万
查看次数