2017-06-05 3 views
2

Ich versuche herauszufinden, welche Reihenfolge Angular 2 für seine CSS verwendet, sobald alles kompiliert ist.Angular 2 CLI SCSS/CSS Auftrag

Was ich versuche zu erarbeiten ist, holt es alle SCSS-Dateien von den einzelnen Komponenten und dann fügen Sie sie nach der Hauptstile.scss-Datei hinzu? Dies scheint die offensichtliche Sache zu sein, aber macht es das Gegenteil und stellt man zuerst die Componet-Stile und dann die Hauptstile?

Ich weiß, wenn ich Dateien im Stile-Array in der Angular-CLI.JSON-Datei angeben Angular wird sie in dieser Reihenfolge verarbeiten, aber offensichtlich Komponentenstile sind dort nicht angegeben.

Entschuldigung, wenn das ein bisschen seltsam klingt, aber ich kann es nicht erarbeiten und kann anscheinend keine Informationen darüber finden, egal whwhere.

Antwort

0

Sie müssen sich vielleicht anschauen, wie ViewEncapsulation funktioniert und nur wenige andere Dinge. Dies könnte helfen:

https://scotch.io/tutorials/all-the-ways-to-add-css-to-angular-2-components

+0

Dank Fahah, ich habe diesen Artikel gelesen, aber es sagt nicht wirklich, in welcher Reihenfolge die Dinge zusammenkommen. Ich versuche nur, in einem Moor-Standard-Angular-Cli-Projekt zu trainieren, wenn ich einige Stile in meiner Hauptsache habe Stil.scss-Datei und einige Komponentenstile in meiner component.scss-Datei, in welche Reihenfolge webpack sie beim Erstellen des Bundles einfügt –

1

Im Allgemeinen wir nicht einen bestimmten Stil, um gewährleisten müssen. Komponentenstile (standardmäßig) funktionieren unabhängig von anderen Stilen in anderen Komponenten und in der Reihenfolge, in der die Stile verarbeitet werden.

Die Verarbeitungsreihenfolge der Sass Dateien nicht im CLI garantiert, gibt es eine Ordnung, die die Reihenfolge der CLI-Plugins (Webpack basiert), um die Dateien, in denen verarbeiten aber das könnte im Laufe der Zeit als die CLI entwickelt sich ändern .

Eines der Hauptziele des Angular-Designs besteht darin, die -Stilkapselung bereitzustellen, was bedeutet, dass die Stile der der Komponente zugeordneten SASS-Datei nur für diesen Stil gelten.

Um zu verstehen, wie das funktioniert und warum im allgemeinen wir nicht brauchen, um Stil, um sich Sorgen zu machen, wollen wir als Beispiel in einer Komponente SASS Datei diese Art nehmen:

.active { 
    border-radius:4px; 
} 

Dieser konvertiert werden zur Laufzeit zu so etwas wie:

.active[_concontent-c1] { 
    border-radius:4px; 
} 

Was in den spitzen Klammern geht, ist ein einzigartige Attributbezeichneroperator, die die Spezifität des Stils und sorgt erhöht es gilt nur für Elemente innerhalb der Vorlage dieser bestimmten Komponente.

Einer der Hauptvorteile dieses Mechanismus ist, dass die Reihenfolge, in der die Komponentenstile verarbeitet werden, nicht kritisch ist, da die eindeutige Kennung sicherstellen wird, dass sie nicht stören.

Hinweis: Es gibt Möglichkeiten, nicht zu tun haben, dass eindeutige ID auf den Stil angewendet, wenn

benötigt

in diesem video Werfen Sie einen Blick auf mehr Einzelheiten dieses Mechanismus in Aktion zu sehen.