2017-07-13 3 views
0

In meiner Komponente Ich habeComponent Arten bündeln nicht in Angular 4

styles: [require('./hero.component.css')], 

Und wenn ich die Anwendung zu erstellen

ng build --prod 

Die Stile in dieser Datei sind nicht im Paket zu bekommen. Außerdem kann ich die Stile nicht sehen, die die kompilierte Anwendung ausführen.

I

styleUrls: ['./hero.component.css'] 

auch

versucht, die in der kompilierten Anwendung funktioniert, aber es die Stile nicht bündeln, sondern fügt es inline.

Gibt es eine Möglichkeit, Komponentenstile zu bündeln und beim Erstellen in der Produktion zu verwenden?

(Die Anwendung mit ng new proj erstellt wurde)

Antwort

0

Ich habe eine reply on Github

Das wie vorgesehen funktioniert.

Wenn Sie die Stile als Teil der Komponente angeben, werden die Stile mit dem komponentenspezifischen Selektor vorangestellt und in den generierten Code eingefügt. Dies wird absichtlich gemacht, damit Sie Stil-Isolation sowie die Möglichkeit haben, Code zu teilen. Teilen Sie Ihre Stylesheets zusammen mit Ihrem Code für optimales Lazy-Loading.

Es ist also anscheinend nicht möglich, mit dem generierten Projekt zu bündeln, Sie müssten ein eigenes Webpack bündeln.

Auch dieses

styles: [require('./hero.component.css')], 

mit Scheint ein bisschen gefährlich zu sein, da sie auf die Entwicklung funktioniert, ist aber nicht auf ng build --prod erzeugt. Die Verwendung von styleUrls funktioniert auch in der Produktion.