Javascript 如何让Rails资源管道生成源地图?
我想让Rails在编译的coffeescript/minified JS旁边生成源代码映射,以便更好地记录错误。然而,网上似乎还没有关于如何做到这一点的全面文档。有人这样做过吗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 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)