如何在Rails 3.1 for CoffeeScript中使用选项“–bare”?
有人知道如何在Rails 3.1中使用此选项? 现在CoffeScript在每个文件上放置一个.call .call(this)
函数,但我想删除它。
编辑:“ 无法找到变量”错误与Rails 3.1和Coffeescript “和” 模式为CoffeeScript模块 “有我想要的。 我将改变我的全局变量以使用@global
范围。
我建议不要这样做。 由于某些原因,请参阅Pattern for CoffeeScript模块的答案。 (“使你的CoffeeScript代码与开箱即用的Rails 3.1不兼容”是另一个原因。)最好只使用
window.a = b
甚至
@a = b
当您尝试将某些内容导出到全局范围时,而不是a = b
。
在以前版本的Rails 3.1中,启用了bare
编译。 这被归类为一个bug ,并在RC1中修复。
因此,虽然我强烈建议您不要这样做 ,但这里是如何重新打开裸编译:添加
Tilt::CoffeeScriptTemplate.default_bare = true
到你的environment.rb
。
我建议利用CoffeeScript的闭包并遵循CommonJS模块模式。 但有时,有时候,可以使用–bare选项。 在我的情况下,当渲染一个Jasmine规范助手时,我可以保持最高级别的东西,并利用所述Jasmine规范中的include Sprockets指令。
为此,我创建了“sprockets-blackcoffee”gem,您可以在这里了解它。 https://github.com/metaskills/sprockets-blackcoffee
- ruby on rails //如何使用咖啡。 而不是我的项目中的js?
- Dojo + Rails 3.2.8 + CoffeeScript
- 通过Rails中的视图加载.coffee文件
- Marionette CompositeView为Collection中的每个Model而不是ItemView(Marionette Rails)渲染自己
- Rails / Javascript:如何将rails变量注入(非常)简单的javascript中
- 如何配置Rails 3.2 + / 4以生成.js而不是.js.coffee默认情况下?
- 将Rails应用程序部署到Heroku时出现语法错误:ExecJS :: RuntimeError:SyntaxError:意外字符
- 与客户端haml的angularjs
- 有没有想过不选择已在令牌输入中选择的名称?