标签: coffeescript

我可以确定字符串是否是MongoDB ObjectID吗?

我通过将字符串转换为BSON来进行MongoDB查找.在进行转换之前,有没有办法让我确定我拥有的字符串是否是Mongo的有效ObjectID?

这是我当前findByID函数的coffeescript.它工作得很好,但如果我确定字符串不是ID,我想通过不同的属性进行查找.

db.collection "pages", (err, collection) ->
  collection.findOne
    _id: new BSON.ObjectID(id)
  , (err, item) ->
    if item
      res.send item
    else
      res.send 404
Run Code Online (Sandbox Code Playgroud)

javascript mongodb node.js coffeescript express

63
推荐指数
5
解决办法
4万
查看次数

清除从javascript数组中删除元素的方法(使用jQuery,coffeescript)

关于这一点有很多问题,尤其是: 数组的jQuery版本包含,splice方法的解决方案等等.然而,它们看起来既复杂又令人讨厌.

利用javascript,jQuery和coffeescript的强大功能,从javascript数组中删除元素的最简洁方法是什么?我们事先并不知道该指数.在代码中:

a = [4,8,2,3]
a.remove(8)     # a is now [4,2,3]
Run Code Online (Sandbox Code Playgroud)

如果没有一个好的内置方法,那么扩展javascript数组以支持这种方法的干净方法是什么?如果它有帮助,我真的使用数组作为集合.解决方案理想情况下可以在coffeescript中使用jQuery支持.此外,我不关心速度,而是优先考虑清晰,简单的代码.

javascript jquery coffeescript

59
推荐指数
4
解决办法
6万
查看次数

复选框未绑定到angularjs中的范围

我正在尝试使用ng-model将复选框绑定到范围.复选框的初始状态对应于范围模型就好了,但是当我选中/取消选中复选框时,模型不会更改.需要注意的一些事项是模板是在运行时使用ng-include动态加载的

app.controller "OrdersController", ($scope, $http, $location, $state, $stateParams, Order) ->

  $scope.billing_is_shipping = false
  $scope.bind_billing_to_shipping = ->
    console.log $scope.billing_is_shipping


<input type="checkbox" ng-model="billing_is_shipping"/>
Run Code Online (Sandbox Code Playgroud)

当我选中该框时,控制台会记录错误,当我取消选中该框时,控制台会再次记录错误.我也在范围上有一个订单模型,如果我将复选框的模型更改为order.billing_is_shipping,它工作正常

checkbox binding coffeescript angularjs angularjs-ng-include

58
推荐指数
4
解决办法
5万
查看次数

Coffeescript无可比拟的突出错误

SyntaxError: Unmatched OUTDENT on line 9当我尝试编译以下coffeescript代码时,我收到错误.我不确定我做错了什么.缩进似乎是正确的,我拥有我想要的一切.

row_possibilities = (grid) ->
  for rows in [0..8] by 1
    for columns in [0..8] by 1
      if(Array.isArray(grid[rows][columns])
        for possible_val in grid[rows][columns] by 1
          grid = unique_row_possibility(grid, rows, columns, possible_val)
          if(Array.isArray(grid[rows][columns]) == false)
            break
  return grid
Run Code Online (Sandbox Code Playgroud)

代码应该做的是运行三个for循环,如果发生某种情况,则打破最里面的for循环.

在所有for循环运行之后.我想返回变量网格.我已经仔细检查了间距,我在repl.it上试了一下,但我无法弄明白.

coffeescript

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

如何在CoffeScript中传递两个匿名函数作为参数?

我想传递两个匿名函数作为jQuery的悬停的参数,如下所示:

$('element').hover(
  function() {
    // do stuff on mouseover
  },
  function() {
    // do stuff on mouseout
  }
);
Run Code Online (Sandbox Code Playgroud)

只用一个就很容易hover ->- 但是CoffeeScript中的两个正确语法是什么?我试过...hover ->,...hover( ->...等等,但没有任何东西让我得到上述结构.

javascript jquery anonymous-function coffeescript

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

CoffeeScript是否允许JavaScript样式==等同语义?

我喜欢CoffeeScript编译==成JavaScript ===运算符.但是如果你想要原始的JS ==语义怎么办?他们有空吗?我仔细阅读了文档,找不到任何能够实现此功能的内容.

更一般地说,有没有办法将普通的JS内联到我的CoffeeScript代码中,以便编译器不会触及它?

我宁愿避免编辑已编译的JavaScript输出,因为我正在使用Chirpy在Visual Studio中自动生成它.

javascript coffeescript

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

NodeJS vs Play Framework适用于大型项目

我真的在两个不同的堆栈之间撕裂,用于构建一个大型应用程序.一方面有这个选项:

  • Node.js的
    • 表达
    • 咖啡脚本
    • coffeekup
    • 猫鼬/ mongodb或
    • presistencejs/MySQL的


  • 使用Scala播放框架
    • Anorm w/mysql
    • 或mongodb

node.js路径对我很有吸引力,因为我可以在coffeescript中编写所有服务器端代码,视图和客户端代码,我已经知道了.如果我沿着这条路走下去,我仍然不能100%确定我会采取哪种数据库路径.mongoose使得存储数据变得快速而简单,但考虑到我想到的数据模型(非常SQLish),缺乏真正的关系可能更难以工作.

Play Framework路径也很有吸引力,因为我在使用Java时非常了解框架,但我对Scala知之甚少,因此在学习该语言的过程中会对生产力产生影响.Anorm数据库访问层很吸引人,因为我可以手工编写我喜欢的SQL,并将结果自动映射到对象,这样可以省去很多工作.

我一直倾向于node.js,但我并没有在最好的数据库访问层上出售.任何人都有任何经验,可以分享一些见解?

mongodb node.js coffeescript playframework anorm

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

在咖啡脚本中切换案例陈述

我有一些不同的按钮调用相同的功能,我希望将它们包装在一个switch语句中,而不是使用一堆其他条件.任何帮助都会很棒!!!

events:
"click .red, .blue, #black, #yellow" : "openOverlay"

openOverlay: (e) ->
  e.preventDefault()
  e.stopPropagation()

target = $(e.currentTarget)

# the view should be opened
view = 
  if target.hasClass 'red' then new App.RedView
  else if target.hasClass 'blue' then new App.BlueView
  else if target.is '#black' then new App.BlackView
  else
    null

# Open the view
App.router.overlays.add view: view if view?
Run Code Online (Sandbox Code Playgroud)

if-statement switch-statement coffeescript

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

有没有可以编译成Bash的语言?

我既喜欢又讨厌写Bash.我喜欢它是如此简化操作文件和处理进程(我同意这个流行的问题,它在这方面比Python,Ruby等更好),但我讨厌语法,特别是在条件,循环等方面.

(这是主观的,但我发现它既令人困惑又烦人.例如,$var在阅读时,但var在写作时;如果周围有空格则静默写入; =使用正则表达式时ifs中的双括号;有时双分号和其他单分号;等等)

作为编写JS的CoffeeScript的忠实粉丝,我一直在想:是否有任何语言具有Python/Ruby/CoffeeScript等语言的美学/语法,但是编译和运行为Bash而不是其他运行时之一?

例如,我希望能够用更简单的语法编写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
Run Code Online (Sandbox Code Playgroud)

这是一个超级人为的例子,语法是一个稻草人(主要来自CoffeeScript,但保留了一流命令的基本Bash概念,与变量分开,松散打字).

无论如何,只是一个问题和思考的食物.我很喜欢到能写我的剧本比猛砸东西更好.=)谢谢!

bash shell scripting coffeescript

54
推荐指数
6
解决办法
6974
查看次数

如何向具有多个加载器的webpack加载器添加查询?

我有这个Babel装载机正在工作

{ test: /\.jsx?$/, loader: 'babel', query: babelSettings, exclude: /node_modules/ },
Run Code Online (Sandbox Code Playgroud)

但是现在我想要一个CoffeeScript加载器但是我想通过Babel来管它以获得花哨的HMR东西

{ test: /\.coffee$/, loader: 'babel!coffee', query: babelSettings, exclude: /node_modules/ },
Run Code Online (Sandbox Code Playgroud)

但这不起作用,并导致以下错误.

错误:无法在加载器列表中定义"查询"和多个加载器

知道如何仅为加载器链的Babel部分定义查询吗?查询是一个复杂的对象,我不认为我可以编码它.

var babelSettings = { stage: 0 };

if (process.env.NODE_ENV !== 'production') {
  babelSettings.plugins = ['react-transform'];
  babelSettings.extra = {
    'react-transform': {
      transforms: [{
        transform: 'react-transform-hmr',
        imports: ['react'],
        locals: ['module']
      }, {
        transform: 'react-transform-catch-errors',
        imports: ['react', 'redbox-react']
      }]
      // redbox-react is breaking the line numbers :-(
      // you might want to disable it
    }
  };
}
Run Code Online (Sandbox Code Playgroud)

javascript coffeescript webpack babeljs

54
推荐指数
3
解决办法
3万
查看次数