Rails资产管道和javascript文件 - 维护换行符以帮助调试

Mat*_*dan 4 ruby-on-rails uglifyjs asset-pipeline

我最近从Jammit迁移到Rails Asset Pipeline.除了几个出牙问题,一切都运作良好.

但是,我最近开始在生产中遇到一些脚本错误,并意识到我几乎不可能调试它们.我之前已将Jammit配置为保留换行符,但否则会删除javascript文件中的所有空格.这是为了确保如果我看到运行时错误,我将能够找到有问题的行,并希望找出问题所在.使用Rails Asset Pipeline和默认的:uglifier压缩器,它会显示删除所有空格,包括换行符,因此我的脚本错误不会告诉我问题在代码中的位置.

有没有人知道配置Rails Asset Pipeline以保留换行符以便可以调试代码?

马特

jdo*_*doe 9

在你身边production.rb:

config.assets.compress = false
Run Code Online (Sandbox Code Playgroud)

并且运行rake assets:precompile不会丑化你的资产.

UPD:

所谓的压缩手段(以及其他内容):删除换行符和注释.但是如果你想混淆你的变量并节省一些可读性,那么使用:

# in production.rb
config.assets.compress = true
config.assets.js_compressor = Uglifier.new(:beautify => true) if defined? Uglifier
Run Code Online (Sandbox Code Playgroud)

有关更多选项,请参阅此处:https://github.com/lautis/uglifier.