2017-06-22 97 views
0

我在Rails 5.1.1應用程序中遇到這個錯誤,我只是在Heroku上託管ActionView :: Template :: Error(無法在/app/public/packs/manifest.json中找到sales.js。webpack仍在編譯?)

2017-06-22T05:15:05.148829+00:00 app[web.1]: F, [2017-06-22T05:15:05.148717 #4] FATAL -- : [ef509b29-8637-41b3-8224-4423dbf2b2ed] 
2017-06-22T05:15:05.148948+00:00 app[web.1]: F, [2017-06-22T05:15:05.148883 #4] FATAL -- : [ef509b29-8637-41b3-8224-4423dbf2b2ed] ActionView::Template::Error (Can't find sales.js in /app/public/packs/manifest.json. Is webpack still compiling?): 
2017-06-22T05:15:05.149203+00:00 app[web.1]: F, [2017-06-22T05:15:05.149103 #4] FATAL -- : [ef509b29-8637-41b3-8224-4423dbf2b2ed]  1: %div#sale 
2017-06-22T05:15:05.149206+00:00 app[web.1]: [ef509b29-8637-41b3-8224-4423dbf2b2ed]  2: = javascript_pack_tag 'sales' 
2017-06-22T05:15:05.149297+00:00 app[web.1]: F, [2017-06-22T05:15:05.149231 #4] FATAL -- : [ef509b29-8637-41b3-8224-4423dbf2b2ed] 
2017-06-22T05:15:05.149398+00:00 app[web.1]: F, [2017-06-22T05:15:05.149328 #4] FATAL -- : [ef509b29-8637-41b3-8224-4423dbf2b2ed] app/views/sales/new.html.haml:2:in `_app_views_sales_new_html_haml___2340659139987297731_36903000' 
2017-06-22T05:15:07.004434+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=planetlauncher.herokuapp.com request_id=8bca0b65-0d4a-494f-88c7-a4b31c2ff6dc fwd="202.163.79.6" dyno=web.1 connect=1ms service=2ms status=200 bytes=143 protocol=https 

只有一種途徑

Rails.application.routes.draw do 
    root 'sales#new' 
    resources :sales 
end 

我的應用程序有一個單一的視圖:

# sales/new.html.haml 
%div#sale 
= javascript_pack_tag 'sales' 

視圖是由一個陣營COMPON取代載入時載入app/javascript/packs/sales.jsx

該應用程序在開發過程中完美無缺,在推送前我跑rails assets:precompile,並部署到Heroku。

編輯:完整的源可here

回答

0

根據本@gauravtiwari從這個github上線:

因此,要麼 - 從gitignore刪除[在/public/packs線]或本地不和 預編譯讓heroku做到這一點,即刪除公共/資產文件夾

順便說一句,有一個問題 - webpacker:編譯取決於資產:預編譯所以bes t將它留給Heroku,不要在本地編譯資產。

因此,遵循他的建議,我我承諾預編譯的資產在本地和一切開始工作。

您可以執行我所做的或運行rm -rf /public/assets來擺脫預編譯的資產。

我想你可以更進一步,將/public/assets加入你的.gitignore,以確保將來沒有人意外編譯資產。

我要離開這個問題,因爲我從一個香草Rails應用程序這個古怪,別人必然要碰上並給予好評我的答案,因爲它幫助他們;)

相關問題