【Rails】 Rails5 앱에서 ES6 구문을 사용하여 Heroku에 배포하는 경우

4329 단어 경 6Rails

소개



Rails5 앱을 Heroku에 배포하는 동안 Uglifier::Error: Unexpected token:~ 오류가 발생했을 때 해결한 방법을 설명합니다.



환경


  • Ruby2.6.6
  • Rails 5.2.4

  • 오류 내용


    remote:  !
    remote:  !     Precompiling assets failed.
    remote:  !
    remote:  !     Push rejected, failed to compile Ruby app.
    remote: 
    remote:  !     Push failed
    remote: Verifying deploy...
    remote: 
    remote: !   Push rejected to golfmatch.
    remote: 
    To https://git.heroku.com/golfmatch.git
     ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to 'https://git.heroku.com/アプリ名'
    
    Precompiling assets failed.프리컴파일이란 컴파일하기 위한 사전처리(기계측이 이해할 수 있는 내용에 처리)
    우선 파일을 읽을 수 없다고 합니다. ^^;

    어디에서 처리가 멈추고 있는지 로그를 따라가면,
    rake aborted!
    remote:        Uglifier::Error: Unexpected token: punc ()). To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true).
    

    "ES6을 사용하려면 Uglifier.new(:harmony => true)에서 harmony mode를 활성화해라"라는 오류 내용입니다.

    그러므로

    해결책



    config/environments/production.rb
    config.assets.js_compressor = :uglifier
    
    ↓  以下に変更
    
    config.assets.js_compressor = Uglifier.new(harmony: true)
    
    

    프로덕션 환경의 설정 파일을 변경해 주면 무사히 배포가 가능했습니다! ^^

    끝에



    해결까지 무사히 도착한 것도 제대로 로그를 확인할 수 있었던 것이었습니다!
    문자의 열이 더 흐르면 읽는데 혐기가 느껴진다고 생각합니다만,
    여기! rake aborted!
    발견하면 해결까지 그렇게 시간은 걸리지 않는다고 생각합니다!
    나중에 해결할 수 있으면 즐겁습니다 ^^

    heroku 배포에서 곤란한 분의 해결안이되면 다행입니다!
    고마워요! 😊

    좋은 웹페이지 즐겨찾기