Ich habe eine App in eine Handvoll Pakete gebrochen. Jedes dieser Pakete hat sein eigenes .styl-Blatt, um die Komponenten zu formatieren, die das spezifische Paket anbietet. Derzeit basieren diese Stylesheets alle auf den gleichen Funktionen, Mixins und Variablen, die in der variables.import.styl
im Ordner ./client/styles
deklariert sind. Ich tue das, weil, wenn ich die errorRed
Farbe in variables.import.styl
ändere, es die Farbe über alle Pakete ändert.Teilen Sie ein Stylus-Blatt zwischen Paketen
Um Zugriff auf diese Variablen, am Anfang des Stylesheet jedes Pakets, habe ich eine @import "./client/styles/variables.import"
. Alternativ könnte ich ein separates Paket für die Stylus-Vars erstellen & dann machen Sie das Paket eine Abhängigkeit in allen anderen Paketen. Ich mag beide Optionen nicht, aber ich denke, es ist der Preis, den ich bezahle, um Stylesheets nach Paket getrennt zu halten. Hat jemand eine elegantere Alternative?
Es ist erwähnenswert, dass auf meinem Zweig Meteor devel meine bisherige Lösung nicht mehr funktioniert (Stift kann den Ordner über dem Paketstamm nicht sehen). Unabhängig davon, ob dies vor der nächsten Version behoben wurde oder nicht, weiß ich, dass es eine sauberere Lösung geben muss.
Verwandte Frage - Ich würde gerne eine bessere Möglichkeit zum Importieren von Dateien als über einen relativen Pfad kennen. Ich habe es satt, '@inport '../../../../../ css/imports/something' zu schreiben. –
Absolute Pfad von root ('. /') Funktioniert nicht für Sie? –
Ich denke, dass (als eine Lösung für den letzten Ausweg) Sie das Stift-Paket abzweigen und benutzerdefinierten Code hinzufügen können, um Ihre Variablen-Datei immer einzuschließen? Wenn Sie mquandalle verwenden: Stylus ist das Repo https://github.com/mquandalle/meteorstylus –