«Предварительная компиляция активов не удалась». при нажатии tp Heroku

#node.js #ruby #heroku

Вопрос:

Я пытаюсь развернуть свое приложение на heroku, и, хотя оно отлично работает на моем локальном (говорит все <Root/> , что у меня есть), на странице Heroku говорится, что мой текст-заполнитель «реакция нарушена» root.html.erb .

когда я впервые создал приложение heroku, я забыл heroku/nodejs, и тогда не было проблемы «Предварительная компиляция ресурсов не удалась». но Heroku все еще не отображал правильный текст. Затем я добавил heroku/nodejs (и убедился, что это до heroku/ruby), и теперь я получаю «Ошибка предварительной компиляции ресурсов». проблема.

В консоли нет ошибок, я прочитал, что это означало, что, вероятно, я не смог распаковать свой интерфейс. Я попытался вручную выполнить предварительную компиляцию своих ресурсов , запустив 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 , если это поможет.

Заранее спасибо, пытался следить за другими сообщениями, в которых были проблемы с «предварительной компиляцией ресурсов». проблемы, но, похоже, они пока не работают для меня.

Ответ №1:

хотя я не мог прочитать весь журнал ошибок через свой терминал (потому что он был слишком длинным), я смог прочитать его через heroku в разделе «Активность». Я понял, что у меня проблема с моим уродцем, так что вот решение:

в config/environments/production.rb , измените config.assets.js_compressor = :uglifier на config.assets.js_compressor = Uglifier.new(harmony: true)