2016-06-22 15 views
8

Ich habe folgende Einstellungen in Winkel-cli-buildKompilieren weniger Datei angular2 cli

Angular2App(defaults,{ 
lessCompiler: { 
    includePaths: [ 
     'src/app' 
     ], 
    } 
}) 

I'have zwei Tests weniger Dateien in src Verzeichnis.

test1.less

//some code 

test2.less

@import "test1.less"; 

wenn ich das Projekt ng build wirft er einen Fehler

Build failed. 
File: input (1) 
The Broccoli Plugin: [LESSPlugin] failed with: 
undefined 

ich issue 873 temporäre Lösung ausprobiert habe. Der Fehler ist verschwunden, konnte aber keine kompilierten CSS-Dateien finden. bitte helfen. wie kompiliert man angepasste bootstrap less-Dateien in angular2 project, das von angle-cli erstellt wird.

wie kann ich erweitere die von der Bootstrap weniger Datei (blieb innerhalb node_modules) mit meiner benutzerdefinierten lesses

Antwort

4

Wenn Sie weniger mit npm install less --save installieren und die CSS-Datei in Ihrer Komponente Verzeichnis umbenennen, sollte es funktionieren. Das gleiche funktioniert für Sass, wie in angular-cli Dokumentation/Readme-Datei beschrieben.

Ich habe den Import Arbeit durch die other.less Datei in /shared directory geben und mit dem vollständigen Pfad jetzt ./src/app/shared/other.less

@import (less) "./src/app/shared/other.less";

es funktioniert, ohne einen Fehler zu importieren.

Bearbeiten: es funktioniert auch mit @import (less) "./src/app/other.less";.

+0

Ich tat, was in ihrem doc beschrieben. aber es funktioniert nicht. nur CSS-Datei, die mit nichts darin erzeugt. (leer). Hast du es erfolgreich versucht? lass es mich wissen, bitte. @JS_astronauts – Ohan

+0

Ich begann ein neues Projekt mit 'ng new lessest' und es funktioniert für mich, zuerst habe ich Node-Sass versucht und später habe ich es mit weniger getestet. es funktioniert, ich musste nicht in "angular-cli-build" gehen und die '.css' Datei ist kompiliert in' dist/app/' –

+0

Würden Sie bitte versuchen, ob @import funktioniert oder nicht in Ihrem Setup? – Ohan

14

offene Winkel cli.json und legt einen neuen Eintrag in das Array Arten

"styles": [ 
    "styles.css", 
    "less/app.less" 
    ], 

weniger installieren, wenn nötig. Ich weiß nicht, ob das erforderlich ist. Aber ich hatte das vorher getan.

npm install less --save 
+3

Funktioniert auf 1.0.0-beta.25.5. Explizit weniger Installation wird nicht benötigt. – hoodieman

+0

Ich musste weniger installieren – Robert

0

Wenn Sie ein neues Projekt:

ng new project_name --style less 

Dann, wenn Sie einen Blick auf Ihr Projekt übernehmen, werden Sie eine weniger Datei in jeder Komponente Ordner finden, anstatt ein CSS in der einen Hand. Wenn Sie andererseits die Datei component.ts einer Komponente betrachten, finden Sie in @Component, styleUrls: ['./xxx.component**.less**'] anstelle von ['./ xxx.Komponente **.css ** ']

Für Montagen wie @Kaspars tun, sagte:

npm install less --save 

Wenn Sie fertig sind:

  • Umbenennungs alle CSS-Dateien im Verzeichnis Ihrer Komponente auf weniger

  • ändern Sie ['./xxx.component.css'] durch ['./xxx.component.less] in jeder Komponentendatei

Wenn Sie SCSS wollen nicht weniger, tun das etwas, was

Verwandte Themen