9

Viene visualizzato quando si utilizza Foundation 5.0.2.0 in modalità produzione.Zurb Foundation 5, modernizr non trovato

On Rails, Unicorn, NginX & Ubuntu.

"NetworkError: 404 Not Found - http://mydomain.com/javascripts/vendor/modernizr.js" 
+0

Presumo '... nu' è il nome di dominio offuscato? – pjmorse

+0

@pjmorse, yes =) – Philip

risposta

10

aggiornamento 3/13/14

I don avere questo problema su heroku con foundation-rails-5.1.1.0. L'aggiunta di javascript_include_tag "vendor/modernizr" alla testa funziona. Potrei rimuovere il Modernizr ho copiato nella directory vendor e rimuovere la riga in più in app.js


Ho avuto lo stesso problema su Heroku, l'applicazione potrebbe andare in crash, perché non riusciva a trovare modernizr.js. Ecco come ho riparato:

  • Copia modernizr.js da fondazione (ovunque è stato installato con bundler) in vendor/attività/javascript/.
  • Aggiungi //= require modernizr sotto //= require_tree . su application.js.
  • Rimuovere javascript_include_tag "vendor/moderizr" da application.html
+0

Questo ha funzionato per me. Grazie! –

+0

Questo risolve il problema ma l'errore appare ancora anche se ho rimosso il javascript_include_tag. Ma il moderniz è attivato. Ma dovrebbe essere risolto correttamente. Ma fino ad allora questa è la strada da percorrere. – Philip

+0

Penso di essermi imbattuto in un problema nel fare le cose in questo modo perché le fondamenta-rail attualmente chiamano il file application.js dal corpo e non il capo di application.html e avevo altri script che funzionavano solo quando venivano inseriti nella testa e che sembravano pre-richiedere modernizr. – Ribena

1

Prova ad aggiornare la gemma che stai utilizzando per Foundation. This commit from five days ago may help you poiché dichiara di aggiungere un file modernizr.js mancante.

+0

Questo è davvero parte del problema. Tuttavia, dopo l'aggiornamento con successo, non funziona ancora. Ho persino copiato il file custom.modernizr.js dalla directory bower_componenets/foundation/js/vendor nella directory vendor/assetsjavascripts di rails. Ancora nessun amore. Hai dovuto fare qualcos'altro per farlo funzionare? – Joe

+0

Non ho ancora provato la configurazione. Ho appena individuato un commit nel repository Foundation che suggeriva una soluzione. – pjmorse

3

ho ottenuto lo stesso errore come voi e ho fatto questo per risolvere il problema:

In config/environments/production.rb, impostare questo:

# Do not fallback to assets pipeline if a precompiled asset is missed. 
config.assets.compile = true 
+2

Questo funziona ma è una cattiva pratica. Dovresti scoprire _why_ che la risorsa non è stata precompilata e, se possibile, assicurati che sia _preparato a precompilare. Vedi la mia risposta per una soluzione temporanea. – Ribena

0

C'è un problema con la versione della gemma di fondazione-rail che si sta utilizzando. Infatti anche l'ultima versione attualmente disponibile (5.0.3.1) presenta questo problema. C'è una richiesta di pull che pretende di risolvere questo problema: https://github.com/zurb/foundation-rails/pull/71 ma un'altra opzione per ora è quello di aggiornare il vostro gioiello da 5.0.3.1 e aggiungere questa riga al vostro file production.rb:

config.assets.precompile += %w(vendor/modernizr.js) 
0

Si prega di seguire le istruzioni del manuale da ZURB qui:

http://foundation.zurb.com/docs/applications.html

Quali specifiy che lo script Modernizr essere inclusi all'interno del tag head. Mi sono imbattuto in questo problema e quindi fissata utilizzando il seguente codice nel layout/application.rb:

%head 

    %title= title 
    = stylesheet_link_tag "application" 
    = javascript_include_tag "vendor/modernizr" 
    = csrf_meta_tags 
    = favicon_link_tag 
    = yield(:head) 
0

Sto usando fondazione-rails (5.2.2.0) ed ho risolto semplicemente aggiungendo:

// = richiedere Modernizr

sotto

// = require_tree.

in app/attività/javascript/application.js

Problemi correlati