Externe Abhängigkeiten (wie Bootstrap) in Meteor

9

Nehmen wir an, ich habe eine externe Abhängigkeit wie Bootstrap. Ich möchte etwas LESS von dort importieren, weil ich auf diese Weise Bootstrap Mixins in meinem Code verwenden kann.

Da Meteor bereits alle LESS in meinem Baum kompiliert und verkettet (richtig?), ist es keine Lösung, das LESS-Verzeichnis zu kopieren und es dann manuell zu aktualisieren. In der Tat, mit dem Standardverzeichnis LESS scheint es, dass jede LESS-Quelldatei zweimal in der Ausgabe erscheint: einmal, weil sie in bootstrap.less importiert wurde, einmal wegen der Datei selbst.

Gibt es eine Möglichkeit, Meteore dazu zu bringen, einige Pfade zu ignorieren? public/ klingt nah; aber ich möchte das Bootstrap Repo nicht wirklich bedienen.

Plus, das könnte es für weniger beheben, aber was ist der richtige Weg, um die JS-Erweiterungen im Bootstrap zu behandeln?

    
lvh 14.04.2012, 09:27
quelle

2 Antworten

3

Ich habe eine mögliche Lösung gefunden. Meteor möchte alles in seinem Verzeichnis bündeln ... also stellen wir die Abhängigkeiten außerhalb seiner Reichweite:)

Mit der folgenden Verzeichnisstruktur:

%Vor%

In meiner LESS-Datei mache ich Folgendes:

%Vor%

Das funktioniert immer noch nicht, aber ich denke, das ist auf einen LESS-Fehler zurückzuführen.

Leider ist die Fehlermeldung von Meteor hier völlig nutzlos:

%Vor%     
lvh 14.04.2012 10:12
quelle
0

Aus meiner Erfahrung ist es eine schlechte Idee, Bootstrap-LESS-Dateien direkt in ein Meteor-Projekt aufzunehmen:

  • Es wird Ihre Entwicklungsumgebung viel langsamer machen, da viele zusätzliche Dateien von Meteor konvertiert und von Ihrem Browser abgerufen werden müssen.
  • Es erfüllt nicht die Abhängigkeiten von Third-Party-Paketen, die explizit vom Core-Bootstrap-Paket abhängen. Wenn Sie eines davon hinzufügen, erhalten Sie in Ihrem Projekt zwei Bootstraps.
  • Ressourcen von Paketen werden früher als Projektdateien geladen. Wenn Sie ein externes Paket haben, das den Bootstrap erweitert, wird das Styling vor dem Bootstrap geladen.
  • Wenn alle Importe umbenannt werden müssen, um mit .lessimport zu enden, ist es schwierig, mit neueren Bootstrap-Releases Schritt zu halten.
  • Die Reihenfolge, in der die Bootstrap-Javascript-Dateien von Meteor geladen werden (alphabetisch), ist falsch, was zu Javascript-Fehlern führt, die nur durch Umbenennen der Dateien behoben werden können.

Ich habe ein Shell-Skript erstellt, um ein benutzerdefiniertes Bootstrap-Meteor-Paket entweder aus einer vorkompilierten Distribution oder aus Ihrem eigenen Klon des Bootstrap-Git-Repositorys zu generieren.

Sie finden es hier zusammen mit Nutzungsinformationen: Ссылка

    
konrad 18.07.2013 09:43
quelle

Tags und Links