Ich verwende cssmin auf Dateien mit @imports. cssmin importiert rekursiv lokale Dateien korrekt, aber für Importe, die auf eine URL verweisen, werden die Importe inline gelassen. Dies macht das resultierende minimierte CSS ungültig, weil die @ -Regeln am Anfang der Datei stehen müssen. Kennt jemand eine gute Lösung oder Workaround für dieses Problem?cssmin nicht richtig handhaben @ import
Antwort
Verwenden Sie das folgende Verfahren:
- Installieren
node-less
- Import der Dateien durch Kompilieren mit
less
ersten - minify mit
cssmin
Referenzen
Ich habe genau das gleiche Problem mit cssmin und @import, und ich eine Lösung mit Grunzen concat gefunden:
- Erstellen Sie eine concat grun t Aufgabe, die:
- Setzen Sie @import URL am Anfang der vereinheitlichten CSS-Datei und ersetzt Referenzen der @ imports URL für "".
- Führen Sie die Task concat: cssImport nach cssmin task aus.
Grunt Aufgabe Code: auszuführen (Concat: cssImport)
grunt.initConfig({
concat: {
cssImport: {
options: {
process: function(src, filepath) {
return "@import url(http://fonts.googleapis.com/css?family=Roboto:400,300,900);"+src.replace('@import url(http://fonts.googleapis.com/css?family=Roboto:400,300,900);', '');
}
}
},
files: {
'your_location_file_origin/file.full.min.css': ['your_location_file_destination/file.full.min.css']
}
})}
Meine Inspiration kommt aus https://github.com/gruntjs/grunt-contrib-concat#custom-process-function.
Ich fügte die processImport: false
Option hinzu, um zu grunzen.
'cssmin': {
'options': {
'processImport': false
}
}
Das ist falsch! Es macht grunt ignore import-Anweisungen und verschiebt sie nicht nach oben – olefrank
die Importe an der Spitze meiner SCSS Putting nicht für mich arbeiten, landete ich aus dem HTML-Code direkt die externen Stylesheets importieren up:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<link href="http://fonts.googleapis.com/css?family=Roboto:400,300"
rel="stylesheet">
<!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
<!-- build:css(.) styles/vendor.css -->
<!-- bower:css -->
......
<!-- endbower -->
<!-- endbuild -->
<!-- build:css(.tmp) styles/app.css -->
<link el="stylesheet" href="../bower_components/bootstrap/dist/css/bootstrap.css">
<link rel="stylesheet" href="styles/app.css">
ich so etwas wie dies hatte in der styles.scss:
@import url(custom-fonts.css);
Mein Problem war die @import nicht in der Lage war, die Dateien becaus zu finden e die Wurzel Pfad fehlte. Hier ist, was ich mit yeoman Winkelgenerator Gruntfile gemacht habe.js config:
cssmin: {
options: {
root: '<%= yeoman.dist %>/styles/'
}
},
Nützlicher Link grunt-contrib-cssmin issue #75
weiß, dass ich diese Frage für eine sehr lange Zeit, aber ich poste das jemand für die auf Stack-Überlauf für dieses Problem suchen ... nur für den/Code setzen ! ..../wie folgt aus:
/*! * @import url('//fonts.googleapis.com/cssfamily=Roboto:300,400,400i,500,700,700i'); */
es in Ihrem Ziel min CSS umfassen wird aber vergessen sie nicht, Remote-Import in oberen Rand der Seite zu verwenden.
- 1. Aurelia Eventaggregator Import nicht richtig
- 2. richtig handhaben Multi-Touch-Event android
- 3. Python Pandas read_csv Import nicht richtig
- 4. Import von SQL Server, Datentypen nicht richtig
- 5. Wie man richtig Standardvariablen Werte falsch handhaben sein
- 6. iphone - Wie kann ich Ausnahmesituationen richtig handhaben (Signale?)
- 7. Sqoop Import --password-Datei funktioniert nicht richtig in sqoop 1.4.4
- 8. Java Import-Anweisung mit * nicht richtig erfaßt Klasse
- 9. Modul nicht richtig eingerichtet
- 10. GoogleMap.OnMarkerDragListener funktioniert nicht richtig
- 11. Wie handhaben Beziehung in Coredata
- 12. Import kann nicht aufgelöst werden: import com.google.android.maps. *;
- 13. Wie KVM Interrupt handhaben
- 14. Basenname funktioniert nicht richtig
- 15. Eine Menge Importe in Python handhaben
- 16. HBase Dateneingabeprogramm nicht richtig
- 17. Code iteriert nicht richtig
- 18. Ist es richtig, dass "import pkg.module" äquivalent ist "import module" in pkg/__ init.py__ in 2.7 aber nicht in 3.5?
- 19. SKSpriteNode scaling nicht richtig
- 20. Continue nicht richtig in Schleife
- 21. weniger @ import funktioniert nicht
- 22. Import: nicht Name _UNPACK_INT
- 23. Import: nicht Name Zähler
- 24. Import: nicht Namen Indizes
- 25. es6 Import 'Destrukturierung' nicht
- 26. #import Direktive funktioniert nicht
- 27. Nicht aufgelöster Import: Webbrowser
- 28. Import: Kann nicht Name
- 29. NetBeans nicht Import java.util.Scanner
- 30. Import Zyklus nicht
Versuchen Sie, Cssjoin dann Cssmin zu laufen? https://github.com/suisho/cssjoin Oder warum nicht die Datei von import @ url lokalisieren? –
cssjoin enthält auch die @imports in der Mitte der Datei. Ich kann die URL nicht lokalisieren. – user3204380
Ich hatte das gleiche Problem mit Cssmin. Ich konnte es umgehen, indem ich die @ import-Anweisungen zum Anfang der ersten Datei hinzufügte, die ich kombinierte. –