标签: coffeescript

我可以直接从node.js运行.coffee文件吗?

我正在做一些教程,我在CoffeeScript中编写所有内容.然后我必须编译到JS然后在node.js中执行.有没有办法直接做到这一点?

node.js coffeescript

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

获取Backbone Model实例的模型/类名

给定一个Backbone模型的实例,我怎么知道这个实例的"类"(可以这么说)?

例如:

class Car extends Backbone.Model

mycar = new Car()
Run Code Online (Sandbox Code Playgroud)

而我需要的是:

mycar.modelName # => 'Car'
Run Code Online (Sandbox Code Playgroud)

javascript coffeescript backbone.js

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

grunt无法找到模块'coffee-script'

我使用以下命令安装平均堆栈并创建应用程序:

> sudo npm install -g meanio@latest // Get the mean cmdline
> mean init myApp // create your first app
> cd myApp && npm install // Install dependencies
> grunt // Launch mean
Run Code Online (Sandbox Code Playgroud)

但是当我到达最后的grunt命令时,我得到错误:

module.js:333 throw err; ^ Error: Cannot find module 'coffee-script' at Function.Module._resolveFilename (module.js:331:15) at Function.Module._load (module.js:273:25) at Module.require (module.js:357:17) at require (module.js:373:17) at Object.<anonymous> (/home/eddie/ResFour/node_modules/grunt/lib/grunt.js:16:1)

我在stackoverflow上尝试了各种解决方案但无济于事:

NodeJS - 设置mean.io无法找到模块错误

找不到模块'咖啡脚本'

我也清除了npm缓存并重新安装了几次.

javascript node.js coffeescript mean-stack

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

如何为CoffeeScript生成ctags?

是否可以在vim/MacVim中为CoffeeScript生成ctags文件?

vim ctags coffeescript

25
推荐指数
2
解决办法
4243
查看次数

这种自我调用匿名函数变体背后的原因

在github上查看代码时,我发现了以下内容:

(function() {

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

这显然是一个自我调用的匿名函数.但为什么这样写呢?我习惯于看到规范的变体(function() {})().

使用.call(this)自动调用匿名函数有什么特别的优势吗?


编辑:看起来某些commonjs环境this在模块的顶层设置为非全局值.哪些,以及它们this可能想要保留的内容是什么?

javascript module anonymous-function commonjs coffeescript

25
推荐指数
2
解决办法
6089
查看次数

CoffeeScript示例代码中出现意外的'INDENT'

当我第一次玩CoffeeScript时,我遇到了一个问题.为了调试我的问题,我尝试用咖啡脚本站点中的一个示例代码替换我的整个文件:

kids =
  brother:
    name: "Max"
    age:  11
  sister:
    name: "Ida"
    age:  9
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试编译该代码时,我得到:

Error: In coffee/main.coffee, Parse error on line 3: Unexpected 'INDENT'
    at Object.parseError (/usr/lib/coffeescript/parser.js:501:11)
    at Object.parse (/usr/lib/coffeescript/parser.js:573:32)
    at Object.compile (/usr/lib/coffeescript/coffee-script.js:23:22)
    at /usr/lib/coffeescript/command.js:99:27
    at /usr/lib/coffeescript/command.js:72:28
    at fs:84:13
    at node.js:773:9
In coffee/main.coffee, Parse error on line 3: Unexpected 'INDENT'
Run Code Online (Sandbox Code Playgroud)

由于这是来自CoffeeScript网站的代码,我认为代码本身不是问题.但是,编译器似乎也正常工作; 如果我编译:

a = 2
Run Code Online (Sandbox Code Playgroud)

它生成一个文件:

(function(){
  var a;
  a = 2;
})();
Run Code Online (Sandbox Code Playgroud)

正如所料.所以换句话说,代码很好,编译器很好,但不知怎的,我得到了这个意外的'IDENT'错误......任何人都可以帮我理解发生了什么?

coffeescript

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

我应该如何在一个页面上包含coffeescript文件?

编辑:一年后,如果我要再次这样做,我会用curl.js代替Rails资产管道.

相关:在Rails 3应用程序中添加页面特定javascript的最佳方法?

我正在编写一个应用程序,并使用coffeescript生成所有的js.这就是相关问题不能满足我需要的原因.

我希望能够将coffeescript文件放在我的资产目录的子文件夹中,并且只能在一个页面上提供.coffee文件.该页面位于命名路由上

match 'myNotifications' => 'user#notifications'

最明显的事情是将.coffee文件放入assets\javascripts\user\index.js.coffee.但在阅读有关资产的文档后,我不清楚.

我读了这一行(来自http://guides.rubyonrails.org/asset_pipeline.html):

您应该将任何JavaScript或CSS唯一的控件放在各自的资产文件中,因为这些文件可以仅为这些控制器加载,例如<%= javascript_include_tag params [:controller]%>或<%= stylesheet_link_tag params [ :controller]%>.

好的很酷,所以我把页面特定的js放入assets\javascripts\user.js.coffee.然后我重新加载了我的主页,按Ctrl F5.user.js文件仍在主页上加载.经测试$ -> alert 'ready from users controller'; 加载主页时看到警报.

Rails是否有办法让每页的coffeescript文件只能与该页面一起提供?我读错了吗?在assets文件夹中是否有一个地方可以放入.coffee文件,它们不会被每个页面加载?

更新:看起来我可能有一个答案:

有几种方法可以解决这个问题.我们可以使用require_directory而不是require_tree,因为这只会加载当前目录中的文件而不是子目录中的文件.如果我们想要更多地控制包含的文件,我们可以单独地要求它们而不是包括整个目录.或者,我们可以将我们想要包含在所有页面上的JavaScript文件移动到公共子目录中.然后我们可以使用require_tree ./public来包含那些文件.

我会在上午给出一个镜头.

ruby-on-rails coffeescript ruby-on-rails-3

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

CoffeeScript - 编译当前目录和所有子目录中的所有.coffee文件

编译当前目录和所有子目录中所有.coffee文件的最简单方法是什么?

coffeescript

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

客户端浏览器库使用Coffeescript类和RequireJS(或Curljs或类似)的示例

我们希望使用Coffeescript开发一个浏览器(仅限客户端)库,特别是除了纯函数之外,我们倾向于使用Coffeescript的"类"功能.库将相对较大,因此我们想要开始使用定义良好的模块模式,但不是我们想要每个coffeescript"类"的单个咖啡文件.我们不想动态编译咖啡文件,而是作为特定的构建步骤,并且不希望将所有输​​出的JS连接成一个文件.作为最终要求,我们将使用像Jasmine这样的东西进行测试.

有没有人知道以这种方式开发的一个好的示例库,使用Coffeescript与RequireJS,CurlJS,Browserify等等?我看过Github,有一些例子,但我看不出任何具体的需求.

我尝试了Coffee-Toaster,因为它似乎有一些承诺,可以很容易地定义依赖关系等,但它无法处理Windows路径(旧的\ vs /),所以放弃了,主要是因为它似乎是有点像"光明"方面 - 像RequireJS这样的东西似乎有更好的社区支持.

感谢您的任何帮助,您可以提供.我真的在寻找可行的源代码示例.

coffeescript requirejs curljs

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

为什么vundle需要关闭文件类型

在vundle的主页上,它记录了它需要在.vimrc中关闭文件类型:

 filetype off                   " required!
 set rtp+=~/.vim/bundle/vundle/
 call vundle#rc()
Run Code Online (Sandbox Code Playgroud)

我不明白为什么.由于我在为它们单独安装相关插件(vim-coffee-script和vim-less)后最近编辑.coffee和.less文件时遇到问题.关于vim-coffee-script的问题

vim less coffeescript

25
推荐指数
2
解决办法
7179
查看次数