2016-03-09 13 views
6

Raylarım uygulamasını phoenix çerçevesine taşıyorum.Phoenix - GET /static/js/some.js için yol bulunamadı

Bazı javascript (some.js) ve css dosyalarını web/static/js ve web/static/css dir dizinlerine ekledim. Ön sayfada page/index.html.eex çalışmadı

<%= static_path(@conn, "/js/some.js") %>. Bu istisna (dev env) kaldırdı: Ben priv/static/js dir some.js kopyalandıysa

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

, işe yaradı. Yani neyi özledim? Varlık boru hattının otomatik olarak önceden hazırlanmış kaynakları olan raylardaki gibi çalıştığını düşünmüştüm.

listesinin altında

benim anka çerçeve ortamları:

  • İksir versiyonu

    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) 
    
  • Phoenix sürümü JavaScript olmak Dosya eklemek istiyorsanız

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

Eğer 'priv/static/js/some.js' dosyanın var olduğunu doğrulayabilir içerir? JS web dizininde geliştirilmiştir, ancak özel dizinden servis edilir. Yerleşik brunch'ı hiç kullanmadım, fakat AFAIK otomatik olarak onu özel olarak derlemeli/kopyalamalıdır. –

+0

@CodyPoll "web/static/js/some.js" öğesine dokunduğumda ve günlüğe kaydetme '10 Mar 02:10:19 - info: 1 dakika içinde bazı.js ve 7 önbelleğe alınmış dosyaları app.js biçiminde derledim. Javascript dosyalarını nasıl ayrı tutabilirim? –

cevap

1

önceden derlenmiş Aşağıdaki kod satırını eklemeniz gerekir.

Javascript dosyanızı web/static/js dizinine ekleyin. web/static/js/app.js yılında

dosya

import "./some-file" 
+0

Belirli bir görünüm şablonuna özel bir "js" eklemek istiyorum. Bu yüzden, bütün ön derleme olayı işe yaramaz ve gereksiz hale gelir. –