小编Con*_*ham的帖子

为什么Rails 3.1/Sprockets 2/CoffeeScript添加了额外的代码?

使用Rails 3.1(rc5),我注意到我包含rails(或sprockets)的任何coffeescript文件正在添加初始化javascript的顶部和底部.换句话说,一个空白的.js.coffee文件输出如下:

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

这很烦人,因为它搞砸了我的javascript范围(除非我真的不知道我在做什么).我通常将我的所有javascript类分成单独的文件,我相信将这些函数代码包装成我的类只会使它们彼此超出范围.或者,至少,我似乎无法访问它们,因为我不断得到未定义的错误.

有没有办法覆盖这个?似乎sprockets中的这个文件与添加这段代码有关:https: //github.com/sstephenson/sprockets/blob/master/lib/sprockets/jst_processor.rb

我知道将函数中的所有内容包装起来似乎是一种额外的便利,因为在加载DOM之前没有任何东西可以运行,但据我所知,它只是弄乱了我的范围.

coffeescript ruby-on-rails-3.1 sprockets

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