我正试图将我的应用程序部署到heroku,即使它在我的本地工作正常(无论我的<Root/>
中有什么),在heroku上的页面说我的占位符文本"反应坏了";fromroot.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)
我有bundle.js.map
在我的.gitignore
,如果这有帮助。
提前感谢,尝试关注其他有Heroku"预编译资产失败"的帖子。问题,但到目前为止,它们似乎对我不起作用。
虽然我不能通过我的终端读取整个错误日志(因为它太长了),但我可以通过"活动"下的heroku读取它。我意识到我的丑化器有问题,所以这里是修复:
在config/environments/production.rb
中,将config.assets.js_compressor = :uglifier
改为config.assets.js_compressor = Uglifier.new(harmony: true)