Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何让Rails资源管道生成源地图?_Javascript_Ruby On Rails_Heroku_Asset Pipeline_Sprockets - Fatal编程技术网

Javascript 如何让Rails资源管道生成源地图?

Javascript 如何让Rails资源管道生成源地图?,javascript,ruby-on-rails,heroku,asset-pipeline,sprockets,Javascript,Ruby On Rails,Heroku,Asset Pipeline,Sprockets,我想让Rails在编译的coffeescript/minified JS旁边生成源代码映射,以便更好地记录错误。然而,网上似乎还没有关于如何做到这一点的全面文档。有人这样做过吗 我使用的是Rails 3.2和Heroku。这看起来应该可以工作: 不过,请记住最后的警告: 重要提示:这种相当残忍的黑客行为取代了普通的黑客行为 通过向CoffeeScriptRedux输出代码来编译coffeescript编译器 编译器,但实际上尚未完成。这只是一个证明 概念,你可能不应该使用它 因此,我不建议在生产

我想让Rails在编译的coffeescript/minified JS旁边生成源代码映射,以便更好地记录错误。然而,网上似乎还没有关于如何做到这一点的全面文档。有人这样做过吗


我使用的是Rails 3.2和Heroku。

这看起来应该可以工作:

不过,请记住最后的警告:

重要提示:这种相当残忍的黑客行为取代了普通的黑客行为 通过向CoffeeScriptRedux输出代码来编译coffeescript编译器 编译器,但实际上尚未完成。这只是一个证明 概念,你可能不应该使用它


因此,我不建议在生产环境中运行此功能,但如果您有一个登台环境(也在Heroku上,也使用小型Javascript),它可能会很有用。

对此进行了测试。它起作用了。但是,这会使资源渲染速度大大降低

如果您不是真的想要源映射,而是只想要coffee脚本编译异常中的行号,请尝试以下操作:

过去,只要在Gemfile中有CoffeeRails,就会在原始coffeescript源代码中产生行号异常。然后,它们消失了,只有一个行号较少的例外。我做了一些挖掘,发现
coffee script source
1.5.x在编译异常中给出了行号,而
coffee script source
1.6.x没有。我相信这是一个bug,如果这个bug在将来被“修复”,我也不会感到惊讶

# Gemfile
gem 'coffee-rails', '~> 4.0.0'
  gem 'coffee-script-source', '~> 1.5.0' # 1.6 doesn't include line numbers in exceptions
然后会出现类似('coffee-script-source','~>1.5.0'的异常)

而不是('coffee-script-source','~>1.6.3')


Rails支持缩小JavaScript的源映射!Rails依赖于进行资产编译,源代码映射支持已添加到中的链轮。

源代码映射-是什么?源代码映射是将模糊/编译/压缩的源代码映射回其原始形式的一种方法。您是否看到或听到现在(在RoR开发环境中)这是否可能?在edge rails中已经提到了这一点,并且我只看到了一些针对coffeescript映射的黑客攻击。嗯。。。有趣的。。。现在,我只是在IDE RubyMine中使用“重新格式化代码”特性。它将代码重新格式化为半可读状态(基本上返回行和选项卡)。。。但是,当然,它与原来的WAS不一样,这也可以用来修复
ruby coffee脚本
gem,修复了语法错误的行号问题
coffee rails源代码映射
gem。您的编辑是从2014年开始的-只是想确认分支已发布?Sprocket 4.x尚未发布。您可以在此处跟踪发布:
Showing /Users/.../app/views/layouts/application.html.erb where line #12 raised:

SyntaxError: missing } on line 15
  (in /Users/.../app/assets/javascripts/app.js.coffee)
Showing /Users/.../app/views/layouts/application.html.erb where line #12 raised:

SyntaxError: missing }
  (in /Users/.../app/assets/javascripts/app.js.coffee)