【问题标题】:Enable Uglifier verbose logging in Sprockets-Rails在 Sprockets-Rails 中启用 Uglifier 详细日志记录
【发布时间】:2015-11-23 08:38:51
【问题描述】:

我有一个 Rails 项目,其中新添加的 javascript 文件 (plotly.min.js) 导致 rake assets:precompile 仅在生产模式下无限期挂起。由于问题与 javascript 压缩有关,我想为 Uglifier 启用详细日志记录。我可以看到UgligyJS2 command line tool 可以做到这一点,但我的问题是如何从我的 Rails 应用程序中启用它,最好在初始化程序等中启用。我可以通过将我的 javascript 压缩器更改为 closure-compiler 来解决这个问题,但我想通过 uglifier 来确定问题。

【问题讨论】:

    标签: javascript ruby-on-rails sprockets uglifier


    【解决方案1】:

    您需要在初始化程序中覆盖 sprockets 记录器:

    if Rails.env.production?
      Rails.application.assets.logger = Logger.new($stdout)
    
      # This sets the log level to debug
      Rails.application.assets.logger.level = 0
    end
    

    【讨论】:

    • 不幸的是,这对命令输出没有任何影响。使用--trace 在卡住之前我可以到达Execute assets:precompile
    • 我想你在谈论 capistrano 输出?我只是认为RAILS_ENV=production bin/rake assets:precompile 在本地不适合你
    • 不,这与 Capistrano 无关。我只是在我的机器上本地运行命令,但它无法完成。
    【解决方案2】:

    遗憾的是,我也没有对这个问题的正确答案(我现在通过在生产中禁用 uglifier 解决了这个问题):

    # Compress JavaScripts and CSS.
    # KT TODO: reenable js compression
    # config.assets.js_compressor = :uglifier
    

    ...但只是为了确认我在使用 uglifier 和 plotly.js 时遇到了同样的问题。

    【讨论】:

    • 我建议尝试使用闭包编译器,它能够编译而不会出现错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    • 2020-08-18
    • 1970-01-01
    • 2013-03-12
    • 2017-03-13
    相关资源
    最近更新 更多