标签: coffeescript

适用于MacOS的CoffeeScript编辑器

有没有人知道Mac的一个好的文本编辑器,支持CoffeeScript中的语法高亮?是否可以在TextWrangler或BBEdit中执行此操作?

干杯:)

macos coffeescript

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

构建coffeescript代码?

在Rails 3.1下,我试图找出如何将一些coffeescript类从我的控制器默认coffeescript文件(home.js.coffee)移到另一个文件中,以便整体构建一下.

有谁知道如何将coffeescript文件"包含"到另一个?

coffeescript ruby-on-rails-3

32
推荐指数
3
解决办法
8679
查看次数

ExecJS :: ProgramError:SyntaxError:保留字"function"

在我们的rails rfq.js.coffee中,我们只有一个简单的js代码:

$(function() {
  $('#need_report').change(function(){
    if ($(this).val() == true) {
      $('#report_language').hide();
    }  // end if
  });  // end change()
});  // end ready(function)
Run Code Online (Sandbox Code Playgroud)

但是,此代码会导致错误,指出第一行中的function()是保留字.由于第一行基本上是一个jquery $(document).ready(function () {}),我们不知道为什么会出现这个错误.有什么想法吗?非常感谢.

javascript jquery ruby-on-rails coffeescript

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

多个文件与coffeescript通信

当我创建一个新的coffeescript文件时,我无法从另一个文件中访问已编译代码中的代码,因为它包含在某个函数范围内.例如:

CoffeeScript的:

class ChatService
  constructor: (@io) ->
Run Code Online (Sandbox Code Playgroud)

生成的Javascript:

(function() {
  var ChatService;    
  ChatService = (function() {    
    function ChatService(io) {
      this.io = io;
    }    
    return ChatService;    
  })();    
}).call(this);
Run Code Online (Sandbox Code Playgroud)

当试图调用ChatService另一个文件时,它没有定义.如何使用coffeescript处理多个文件?

javascript coffeescript

32
推荐指数
2
解决办法
9666
查看次数

将CoffeeScript项目转换为JavaScript(不缩小)?

我们正在使用CoffeeScript编写的特定jQuery 插件,我希望我可以将项目转换为一些看起来很正常的JavaScript.该库看起来结构非常好(良好的OOP实践),但我真的很喜欢它,如果我可以探索它的源代码而不必学习CoffeeScript所需的所有技巧.

javascript json node.js coffeescript npm

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

调用coffescript超级方法

我有以下代码:

    class Animal
        constructor: (@name) -> 
        say: () -> console.log "Hello from animal called #{ @name }"

    class Dog extends Animal

        say: () ->
            super.say()
            console.log "Hello from dog called #{ @name }"

    a = new Animal('Bobby')
    a.say()

    d = new Dog("Duffy")
    d.say()            
Run Code Online (Sandbox Code Playgroud)

结果不是

Hello from animal called Bobby
Hello from animal called Duffy
Hello from dog called Duffy
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

Hello from animal called Bobby
Hello from animal called Duffy
Uncaught TypeError: Cannot call method 'say' of undefined
Run Code Online (Sandbox Code Playgroud)

为什么超级未定义?如何调用父方法以扩展它?谢谢

coffeescript

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

BackboneJS渲染问题

在过去的六个月里,我一直在使用Backbone.前两个月一直在搞乱,学习并弄清楚我想如何构建我的代码.接下来的4个月正在掀起一场适合生产的应用.不要误会我的意思,Backbone已经把我从以前成为标准的数千行的客户端代码中解救出来,但它使我能够在更短的时间内完成更多宏伟的事情,从而打开一堆全新的问题.对于我在这里提出的所有问题,有简单的解决方案,感觉像黑客或只是感觉不对.我保证获得300点奖励以获得一个很棒的解决方案.开始:

  1. 正在加载 - 对于我们的用例(管理面板),悲观的同步很糟糕.对于某些事情,我需要在接受它们之前验证服务器上的内容.我们在'sync'事件合并到Backbone之前就开始了,

我们使用这个小代码来模仿加载事件:

window.old_sync = Backbone.sync

# Add a loading event to backbone.sync
Backbone.sync = (method, model, options) ->
  old_sync(method, model, options)
  model.trigger("loading")
Run Code Online (Sandbox Code Playgroud)

大.它按预期工作,但感觉不正确.我们将此事件绑定到所有相关视图并显示加载图标,直到我们从该模型收到成功或错误事件.有更好,更健全的方式吗?

现在为艰难的:

  1. 太多东西让自己太多了 - 让我们说我们的应用程序有标签.每个选项卡控制一个集合.在左侧,您可以获得该系列.单击模型以开始在中心编辑它.您更改其名称并按Tab键转到下一个表单项.现在,您的应用程序是一个"实时的东西",注意到差异,运行验证,并自动将更改同步到服务器,不需要保存按钮!很好,但表单开头的H2与输入中的名称相同 - 您需要更新它.哦,你需要更新列表中的名称.哦,名单按姓名排序!

这是另一个例子:您想在集合中创建一个新项目.按"新建"按钮,即可开始填写表格.您是否立即将该项目添加到集合中?但如果您决定丢弃它会发生什么?或者如果您将整个集合保存在另一个选项卡上?并且,有一个文件上传 - 您需要先保存并同步模型,然后才能开始上传文件(这样您就可以将文件附加到模型中).所以一切都开始渲染震动:你保存模型和列表,表格再次渲染自己 - 它现在已同步,所以你得到一个新的删除按钮,它显示在列表中 - 但现在文件上传完成上传,所以一切再次开始渲染.

添加子视图到混合,一切开始看起来像费里尼电影.

  1. 它的子视图一直向下 - 这是关于这些东西的好文章.我不能,因为对所有神圣事物的热爱,找到一种将jQuery插件或DOM事件附加到具有子视图的任何视图的正确方法.地狱随之而来.工具提示会听到渲染很长时间并且开始变得怪异,子视图变得像僵尸一样或者没有响应.这是主要的痛点,因为这里有实际的错误,但我仍然没有一个全面的解决方案.

  2. 闪烁 - 渲染速度很快.事实上,它是如此之快,我的屏幕看起来像是癫痫发作.有时它的图像必须再次加载(使用另一个服务器调用!),因此html最小化然后再次最大化 - 该元素的css宽度+高度将解决这个问题.有时候我们可以用fadeIn和fadeOut来解决这个问题 - 这是写作屁股的痛苦,因为有时我们会重复使用视图,有时会重新创建它.

TL; DR - 我在Backbone中遇到了查看和子视图的问题 - 渲染次数太多,渲染时会闪烁,子视图会分离我的DOM事件并吃掉我的大脑.

谢谢!

更多细节:BackboneJS与Ruby on Rails Gem.使用UnderscoreJS模板的模板.

javascript jquery node.js coffeescript backbone.js

32
推荐指数
2
解决办法
6017
查看次数

我可以在Javascript中为hubot编写脚本吗?

Hubot是Github的聊天室机器人.这是一个很棒的工具,除了我们公司没有人想写Coffeescript ....但似乎我们不能用普通的旧Javascript编写Hubot的脚本.
这是真的?这里有什么我想念的吗?Coffeescript是"只是javascript",但我不能使用Javascript吗?
编辑
我做了2个荒谬简单的错误:
- 我将CoffeeScript注释语法复制到我的JS文件中
- 我在hubot-scripts node_module下有脚本,而不是在主项目的/ scripts /目录下.

现在工作得很好.

javascript coffeescript hubot

32
推荐指数
2
解决办法
9323
查看次数

如何设置webpack来缩小和组合scss和javascript,如CodeKit?

我在使用webpack而不是Codekit v1.9.3时遇到了麻烦.我开始努力从CodeKit转移到Grunt和Gulp,然后了解webpack哪些听起来非常酷.我似乎无法让它正常工作.

"像Codekit"意味着我可以:

  • javascriptcoffeescript语法写
  • 将所有脚本源文件和库缩小/缩小并合并到一个文件中
  • bootstrap-sass根据需要选择性地包括(scss)框架的组件
  • 通过sass变量维护一个带有引导程序自定义的小文件,比如 $brand-primary
  • 用于webpack --watch在更改脚本和样式时自动编译它们
  • 最终得到一个css文件和一个可以包含在样式表和脚本标记中的脚本文件.

Codekit项目设置

凉亭资源:

我目前正在全球范围内存储这些项目:

~/bower_components/twbs-bootstrap-sass/vendor/assets/stylesheets
Run Code Online (Sandbox Code Playgroud)

因为CodeKit支持指南针,我在我的config.rb文件中有这个:

add_import_path "~/bower_components/twbs-bootstrap-sass/vendor/assets/stylesheets"
Run Code Online (Sandbox Code Playgroud)

项目结构

js/fancybox.js
js/main.js               <-- currently the compiled js 'output' file
js/main.coffee

css/styles.css           <-- currently the compiled css 'output' file

scss/styles.scss
scss/modules/_bootstrap-customizations.scss
scss/modules/_typography.scss
scss/partials/_header.scss
scss/partials/_footer.scss
Run Code Online (Sandbox Code Playgroud)

styles.scss的内容

@import "modules/bootstrap-customizations";  # local customizations
@import "bootstrap/variables";
@import "bootstrap/mixins";
...                                          # load bootstrap files as required
@import "bootstrap/wells";
Run Code Online (Sandbox Code Playgroud)

系统设置:

  • system:OS X 10.9
  • 节点 - v0.10.32 …

sass coffeescript npm webpack

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

启动backbone.js历史记录时无法调用undefined的'start'.

Cannot call 'start' of undefined打电话时得到......

    Backbone.history.start()
Run Code Online (Sandbox Code Playgroud)

运行一些检查时,Backbone返回对象,但Backbone.history返回undefined.

可能是什么原因造成的?

谢谢

javascript coffeescript backbone.js

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