2016-04-12 5 views
1

Ich muss einige Dateien in application.css oder application.js Dateien importieren. Zum Beispiel, für CSS, verwende ich @ import-Anweisungen. Ich habe einige Stylesheets in einem Lieferanten/assets/Sheets Verzeichnis:Importieren von CSS und JS in Rails 4.2.4 App mit @ Import oder erfordern

vendor/assets/stylesheets/font-awesome.min.css 
 
vendor/assets/stylesheets/bootstrap.min.css 
 
etc

So verwende ich:

@import 'font-awesome'; 
 
@import 'simple-line-icons'; 
 
@import 'bootstrap';

Hier konnte ich laden die font-awesome Datei, aber keine Bootstrap- oder Simple-Line-Icons. Ich habe diesen Fehler:

File to import not found or unreadable: file_name.css

Ganz seltsam. Ist die generelle Idee, Dateien aus dem Lieferantenverzeichnis zu importieren, korrekt? Oder sollte ich diese Dateien in ein anderes Verzeichnis legen?

P.S: Ich weiß, dass Sie fragen könnten, warum ich Bootstrap manuell importiere und keinen Edelstein verwende; Die Antwort ist, dass ich einige Vorlagen gekauft habe und alle Dateien aus den Vorlagen konsistent sein soll.

+0

Ihre Idee, Dateien von 'vendor/assets/stylesheets' zu importieren, ist vollkommen richtig. Hast du versucht, '@import 'bootstrap.min'' zu benutzen? –

+0

@AlexanderKomarov, danke, es hat geholfen. Generell bestand das Problem darin, dass font-awesome über eine Edelsteinabhängigkeit geladen wurde. – yerassyl

+0

Das macht Sinn, ich habe mich gefragt, warum Sie 'font-awesome' und nicht' bootstrap' importieren können. AFAIK Ich sollte meinen Kommentar in eine tatsächliche Antwort umwandeln. Wird besorgt. –

Antwort

3

Ihre Idee, Dateien von vendor/assets/stylesheets zu importieren, ist absolut richtig. Dateien, die von woanders importiert wurden (nicht von Ihnen selbst geschrieben), sollten dorthin gehen.

Sie sollten jedoch @import bootstrap.min, nicht @import bootstrap tun.

Auch ist es wahrscheinlich besser, *= require bootstrap.min in Ihre application.css als @Rendrum wies darauf hin.

2

Vermögenswerte, die externen Entitäten gehören, sollten im Verzeichnis vendor/assets platziert werden, damit es erfolgreich von Rails verwaltet werden kann.

Um sie in Ihrer Anwendung schließen Sie sie automatisch unter Verwendung dieser Ausdrücke in application.css

*= require font-awesome 
*= require simple-line-icons 
*= require bootstrap 

laden kann ich vorschlagen, dass Sie dies lesen, um zu verstehen, wie Schienen Werke: http://guides.rubyonrails.org/asset_pipeline.html

Danke Alexander Komarov für die Korrekturen :)

+1

'app/assets' ist für Ihre eigenen Vermögenswerte. Für Assets, die von woanders genommen werden, sollten Sie statt dessen das Verzeichnis 'vendor/assets' verwenden. –

+0

Ja, danke für deinen Beitrag :) – Rendrum

+1

Es ist nicht 'app/vendor/assets' obwohl, es ist nur' vendor/assets' :) –

Verwandte Themen