【问题标题】:Rails and CoffeeScript compile error in productionRails 和 CoffeeScript 在生产环境中编译错误
【发布时间】:2013-11-08 07:30:29
【问题描述】:

不知何故,在开发环境中,我的咖啡脚本文件可以正确编译。但是当我将它们编译用于生产时,我会得到这样的结果

CoffeeScript:

$->
  alert "hello world"

编译成Javascript

(function() {
   $(function(){
      alert("hello world");
   })
}).call(this)

我检查了是否有遗漏的缩进和间距错误,或者是否混合了制表符和空格,但没有。奇怪的是,当我使用来自 coffeescript.org 的编译器转换它时,它可以正确编译,它只是在生产环境中。有什么想法吗?

顺便说一句:我正在使用 rails 4

【问题讨论】:

标签: ruby-on-rails compiler-errors coffeescript ruby-on-rails-4


【解决方案1】:

这是一个咖啡脚本设置。

(function() {
  # Code here
}).call(this)

是默认情况下由coffeescript生成的闭包(可以禁用,但你不应该),用于避免全局命名空间污染
它不影响脚本的执行,您的 jQuery 代码在文档加载后仍然会运行。

重要提示
您可能会发现该闭包的唯一问题是您实际上很难声明全局变量。可以这样解决:

window.yourvar = 'something'

这里还有一个关于如何禁用它的建议:How can I use option "--bare" in Rails 3.1 for CoffeeScript?

【讨论】:

    猜你喜欢
    • 2020-02-19
    • 2013-09-27
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    相关资源
    最近更新 更多