【问题标题】:"Precompiling assets failed." when pushing tp Heroku“预编译资产失败。”推 tp Heroku 时
【发布时间】:2021-11-18 15:52:18
【问题描述】:

我正在尝试将我的应用程序部署到 heroku,即使它在我的本地运行良好(说我的 <Root/> 中的任何内容),Heroku 上的页面显示我来自 root.html.erb 的占位符文本“反应已损坏”。

当我第一次创建 heroku 应用程序时,我忘记了 heroku/nodejs,并且没有“预编译资产失败”。然后问题,但 Heroku 仍然没有显示正确的文本。然后我添加了 heroku/nodejs(并确保这是在 heroku/ruby 之前),现在我得到“预编译资产失败”。问题。

控制台没有错误,我读到这意味着这可能是我未能 webpack 我的前端。我尝试通过运行bundle exec rake assets:precompile RAILS_ENV=production 手动预编译我的资产,但我的终端中出现了一个超长的红色错误块。

在长错误块的末尾,这是终端显示的内容:

 12673 //# sourceMappingURL=bundle.js.map
 12674 ;
 12675 (function() {
 12676   var context = this;
 12677 
 12678   (function() {
 12679     (function() {
 12680       var slice = [].slice;
==
/Users/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
/Users/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

如果有帮助,我的.gitignore 中有bundle.js.map

在此先感谢,尝试关注 Heroku “预编译资产失败”的其他帖子。问题,但到目前为止它们似乎对我不起作用。

【问题讨论】:

    标签: node.js ruby heroku


    【解决方案1】:

    虽然我无法通过终端读取整个错误日志(因为它太长),但我能够通过 heroku 在“活动”下读取它。我意识到我的 uglifier 有问题,所以解决方法如下:

    config/environments/production.rb 中,将 config.assets.js_compressor = :uglifier 更改为 config.assets.js_compressor = Uglifier.new(harmony: true)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-01
      • 2012-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-26
      • 2021-11-12
      相关资源
      最近更新 更多