2016-03-09 6 views
6

Przenoszę moją aplikację rails do frameworka.Phoenix - nie znaleziono trasy dla GET /static/js/some.js

Dodałem niektóre pliki javascript (na przykład some.js) i css do web/static/js i web/static/css reż.

<%= static_path(@conn, "/js/some.js") %> na pierwszej stronie page/index.html.eex nie działa. To podniesiony wyjątek (dev env):

Phoenix.Router.NoRouteError at GET /static/js/some.js 
no route found for GET /static/js/some.js (VisualTrader.Router) 

Gdybym kopiowane some.js do priv/static/js dir, to działało. Więc co przegapiłem? Sądziłem, że potok aktywów działa tak jak w szynach, które automatycznie prekompilowały zasoby.

Poniżej lista moich Phoenix środowisk ramowe:

  • wersja Elixir

    elixir -v 
    
    Erlang/OTP 18 [erts-7.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] 
    
    Elixir 1.3.0-dev (187f4f8) 
    
  • wersja Phoenix

    defp deps do 
        [{:phoenix, "~> 1.1.2"}, 
        ... 
    
+0

można sprawdzić, czy plik to 'priv/statyczne/js/some.js' istnieje? JS jest rozwijany w katalogu sieciowym, ale jest obsługiwany z prywatnego katalogu. Nigdy nie korzystałem z wbudowanego brunchu, ale AFAIK powinien automatycznie skompilować/skopiować go na serwer prywatny. –

+0

@CodyPoll Dotknąłem 'web/static/js/some.js', a logowaniem jest ' 10 Mar 02:10:19 - informacje: skompilowano pliki some.js i 7 cached do app.js w ciągu 1 sekundy. Jak mogę oddzielić pliki javascript? –

Odpowiedz

1

Jeśli chcesz zawierać Javascript plik do prekompilowany y powinieneś dodać następujący wiersz kodu.

Dodaj swój plik JavaScript w katalogu web/static/js.

W web/static/js/app.js zawierać plik

import "./some-file" 
+0

Chcę dołączyć konkretny 'js' wewnątrz określonego szablonu widoku. Cała ta wstępna kompilacja staje się bezużyteczna i niepotrzebna. –

Powiązane problemy