2017-09-01 79 views
7

Otrzymuję ten błąd, gdy próbuję wczytać stronę w mojej nowej aplikacji 5.1 do szyn za pomocą pakietu internetowego. Chciałbym, aby również webpacker obsługiwał CSS.stylesheet_pack_tag nie znajduje aplikacji/javascript/src/application.css w szynach 5.1 z klejnotem webpackera

Started GET "/" for ::1 at 2017-09-01 12:20:23 -0400 
Processing by HomeController#welcome as HTML 
    Rendering home/welcome.html.erb within layouts/application 
    Rendered home/welcome.html.erb within layouts/application (0.4ms) 
Completed 500 Internal Server Error in 28ms 



ActionView::Template::Error (Webpacker can't find application.css in /Users/myusername/Documents/testing-ground/myapp/public/packs/manifest.json. Possible causes: 
1. You want to set wepbacker.yml value of compile to true for your environment 
    unless you are using the `webpack -w` or the webpack-dev-server. 
2. Webpack has not yet re-run to reflect updates. 
3. You have misconfigured Webpacker's config/webpacker.yml file. 
4. Your Webpack configuration is not creating a manifest. 
Your manifest contains: 
{ 
    "application.js": "/packs/application-1ba6db9cf5c0fb48c785.js", 
    "hello_react.js": "/packs/hello_react-812cbb4d606734bec7a9.js" 
} 
): 
    7:  <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 
    8:  <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> 
    9:  <%= javascript_pack_tag 'application' %> 
    10: <%= stylesheet_pack_tag 'application' %> 
    11: </head> 
    12: 
    13: <body> 

app/views/layouts/application.html.erb:10:in `_app_views_layouts_application_html_erb__1178607493020013329_70339213085820' 

Używam ./bin/webpack-dev-server obok na rails server. I stworzył aplikację używając:

rails new myapp --webpack bundle bundle exec rails webpacker:install:react

Mam jeden plik CSS app/javascript/src/application.css. (Pisanie sprawia, że ​​czuję, że coś jest nie tak. Umieszczenie css wewnątrz katalogu javascript wydaje się niewłaściwe.)

Po prostu zdefiniowałem pojedynczą ścieżkę root root to: 'home#welcome'.

Oto app/views/layouts/application.html.erb

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Myapp</title> 
    <%= csrf_meta_tags %> 

    <%= javascript_pack_tag 'application' %> 
    <%= stylesheet_pack_tag 'application' %> 
    </head> 

    <body> 
    <%= yield %> 
    </body> 
</html> 

Oto mój config/webpacker.yml (Próbowałem również ustawienie skompilować do false w rozwoju.

# Note: You must restart bin/webpack-dev-server for changes to take effect 

default: &default 
    source_path: app/javascript 
    source_entry_path: packs 
    public_output_path: packs 
    cache_path: tmp/cache/webpacker 

    # Additional paths webpack should lookup modules 
    # ['app/assets', 'engine/foo/app/assets'] 
    resolved_paths: [] 

    # Reload manifest.json on all requests so we reload latest compiled packs 
    cache_manifest: false 

    extensions: 
    - .coffee 
    - .erb 
    - .js 
    - .jsx 
    - .ts 
    - .vue 
    - .sass 
    - .scss 
    - .css 
    - .png 
    - .svg 
    - .gif 
    - .jpeg 
    - .jpg 

development: 
    <<: *default 
    compile: true 

    dev_server: 
    host: localhost 
    port: 3035 
    hmr: false 
    https: false 

test: 
    <<: *default 
    compile: true 

    # Compile test packs to a separate directory 
    public_output_path: packs-test 

production: 
    <<: *default 

    # Production demands on precompilation of packs prior to booting for performance. 
    compile: false 

    # Cache manifest.json for performance 
    cache_manifest: true 

Nie chcę dodać zbyt wiele szczegółów wstępnymi O ile nie są one bardziej rozpraszające, niż pomocne, proszę o cokolwiek innego, a dodam do mojego pytania. Dziękujemy!

Odpowiedz

2

W aplikacji.js:

import "path to application.css"