In diesem Artikel wird untersucht, wie Gulp.js sich wiederholte CSS -Entwicklungsaufgaben rationalisiert und Ihre Workflow -Effizienz steigert. Während ein Texteditor für Webentwicklung ausreicht, erweisen sich wiederholende Aufgaben für moderne Websites und optimale Leistung häufig frustrierend. Dazu gehören: Transporation, Dateiverkampfer, Produktionscode -Minifikation und Bereitstellung auf verschiedenen Servern. Diese mit jeder Veränderung wiederholten Aufgaben können zunehmend belastend werden.
Glücklicherweise automatisiert Gulp.js diese Prozesse. Dieser Artikel zeigt seine Anwendung bei der Automatisierung verschiedener CSS -Aufgaben: Bildoptimierung, SASS -Kompilierung, Asset -Handhabung und Einbeziehung, automatisches Anbieter -Präfixen, Entfernen ungenutzter CSS -Selektoren, CSS -Minifikation, Dateigröße, Quellenkarte Generierung für Browser Devtools und Live -Browser -Reloading Reloading Reloading Reloading -Änderungen.
Schlüsselvorteile der Verwendung von gulp.js:
,
gulp-sass ) für erweiterte Funktionalität.
warum gulp wählen?
Viele Task-Läufer existieren (Grunzen, Webpack, Parcel, NPM-Skripte), aber Gulp sticht aufgrund seiner Stabilität, Geschwindigkeit, umfangreicher Support für Plugin und JavaScript-basierter Konfiguration auf. Dieser codebasierte Ansatz bietet Vorteile und ermöglicht die Änderung der bedingten Ausgabe-zum Beispiel das Entfernen von Sourcemaps während der endgültigen Bereitstellung.
Erste Schritte:
Dieses Tutorial verwendet Gulp 4. Stellen Sie sicher, dass Sie Git und Node.js installiert haben. Klonen Sie das Beispielprojekt von Github:
git clone https://github.com/craigbuckler/gulp4-css
cd gulp4-css
npm i gulp-cli -g
npm i
gulp
navigieren Sie zu http: // localhost: 8000/ (oder die angezeigte externe URL) in Ihrem Browser.
).
Unterordner für Quelldateien (Bilder, scss).
Ordner für kompilierte Dateien.
Datei zum Testen.
Modulinstallation:
Installieren Sie notwendige Module:
npm i gulp gulp-imagemin gulp-newer gulp-noop gulp-postcss gulp-sass gulp-size gulp-sourcemaps postcss-assets autoprefixer cssnano usedcss browser-sync --save-dev
Die gulpFile.js
Datei definiert Aufgaben. Ein vereinfachtes Beispiel konzentriert sich auf die Bildoptimierung und die CSS -Verarbeitung:
// gulpFile.js (vereinfachtes Beispiel)
const gulp = fordert ('gulp');
const imagemin = erfordern ('gulp-iMagemin');
const sass = require ('gulp-sass') (erfordern ('sass')); // HINWEIS: Verwenden von Dart-Sass
const postcss = required ('gulp-postcss');
const autoprefixer = required ('autoprefixer');
const cssnano = fordert ('cssnano');
// Bildaufgabe
Funktionsbilder () {
return gulp.src ('src/bilder/*')
.Pipe (Imagemin ())
.pipe (gulp.dest ('bauen/bilder'));
}
// CSS -Aufgabe
Funktion CSS () {
return gulp.src ('src/scss/main.scss')
.pipe (sass (). on ('error', sass.logerror))
.pipe (postcss ([autoprefixer (), cssnano ()]))
.pipe (gulp.dest ('build/css'));
}
exports.images = Bilder;
exports.css = CSS;
exports.default = gulp.Parallel (Bilder, CSS); // Aufgaben in parallel
// gulpfile.js (Simplified Example)
const gulp = require('gulp');
const imagemin = require('gulp-imagemin');
const sass = require('gulp-sass')(require('sass')); //Note: using dart-sass
const postcss = require('gulp-postcss');
const autoprefixer = require('autoprefixer');
const cssnano = require('cssnano');
// Image task
function images() {
return gulp.src('src/images/*')
.pipe(imagemin())
.pipe(gulp.dest('build/images'));
}
// CSS task
function css() {
return gulp.src('src/scss/main.scss')
.pipe(sass().on('error', sass.logError))
.pipe(postcss([autoprefixer(), cssnano()]))
.pipe(gulp.dest('build/css'));
}
exports.images = images;
exports.css = css;
exports.default = gulp.parallel(images, css); // Run tasks in parallel
würde Funktionen wie Sourcemaps, Browsersync und ausgefeiltere Postcss -Plugins enthalten. Ein vollständiges Beispiel finden Sie im Originaltext.
Denken Sie daran, Dateipfade so anzupassen, dass sie Ihrer Projektstruktur entsprechen. Run
gulp
gulpFile.js und weitere Erklärungen sind im Originalartikel verfügbar.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3