ich hatte das gleiche Problem und fand this example aus, bevor es sogar sass/weniger Unterstützung in der cli war. Ich nehme an, dass der aktuelle Build des CLI (1.0.0-Beta.5) nur die Komponentenebene sass kompiliert und möglicherweise sogar .css im Ordner/src ignoriert. Ich habe es geschafft, globale * .css in den public/Ordner zu legen und sie nach/dist kopieren zu lassen, konnte aber nicht das gleiche Verhalten von/src bekommen und Präprozessoren scheinen nicht standardmäßig zu kompilieren. Ich nehme an, dass das von Design und IMHO etwas kontraintuitiv sein könnte. Angular cli ist glücklicherweise auf Brokkoli aufgebaut und es lohnt sich, die Zeit und Mühe zu lernen, wie man den Build mit Brokkoli wie im folgenden Beispiel anpasst:
Hier ist eine Kopie des angular-cli-build. js ich endete mit.
'use strict';
/* global require, module */
var Angular2App = require('angular-cli/lib/broccoli/angular2-app');
var compileSass = require('broccoli-sass');
var mergeTrees = require('broccoli-merge-trees');
var _ = require('lodash');
var glob = require('glob');
module.exports = function(defaults) {
let sourceDir = 'src';
let app = new Angular2App(defaults, {
sourceDir: sourceDir,
sassCompiler: {
includePaths: [
'src/style'
]
},
vendorNpmFiles: [
'systemjs/dist/system-polyfills.js',
'systemjs/dist/system.src.js',
'zone.js/dist/*.js',
'es6-shim/es6-shim.js',
'reflect-metadata/*.js',
'rxjs/**/*.js',
'@angular/**/*.js'
]
});
let styles = mergeTrees(_.map(glob.sync('src/**/*.scss'), function(sassFile) {
sassFile = sassFile.replace('src/', '');
return compileSass(['src'], sassFile, sassFile.replace(/.scss$/, '.css'));
}));
return mergeTrees([app, styles], { overwrite: true });
};
funktioniert! und Sie müssen nicht in der Datei index.html hinzufügen, sobald Sie in der angular-cli.json hinzufügen –
Gibt es irgendwelche Pro/Nachteile für die Verwendung von CSS-Importen, um in 'styles.css' zu importieren oder nur zu hinzufügen die 'Stil'-Eigenschaft von' .angular-cli.json'? – WillyC
@WillyC interessante Frage. Ich habe ein brandneues Projekt mit der aktuellen Version der CLI (v1.0.0) eingerichtet und beide Methoden getestet. Die Ausgabe ist genau gleich, sogar der Hash. Die einzige Empfehlung, die ich machen würde, ist das Importieren von App-Styles in 'styles.css', während Styles von Drittanbietern (zB Bootstrap) besser in' .angular-cli.json' definiert sind. – filoxo