Aliran kerja yang mudah ' y untuk sass
- Aliran kerja Gulp dapat meningkatkan masa penyusunan SASS dalam projek rel besar, bergerak dari saluran paip aset dan merangkul kelajuan libsass.
- Aliran kerja Gulp termasuk kompilasi sass dengan libsass, menghasilkan sourcemaps untuk debugging yang lebih mudah, prefixing CSS dengan autoprefixer, dan menghasilkan dokumentasi SASS dengan SASSDOC.
- Aliran kerja boleh dioptimumkan lagi dengan menambahkan tugas menonton yang memantau perubahan dalam stylesheets untuk mengkompilasi semula mereka, menghapuskan keperluan untuk menjalankan tugas SASS secara manual selepas setiap fail menyimpan.
- Tugas 'Prod' boleh diwujudkan untuk menggunakan pengeluaran, yang menyusun SASS dalam mod termampat, awalan CSS dengan autoprefixer, regenerasi dokumentasi SASSDOC, dan mengelakkan sebarang sourcemaps.
Idea saya adalah untuk bergerak dari saluran paip aset dan merangkul kelajuan libsass. Untuk membuat perkara lebih mudah, saya memutuskan untuk pergi dengan aliran kerja yang mudah. Ia adalah kali pertama saya menggunakan Gulp, dan saya mesti mengatakan ia adalah pengalaman yang menyeronokkan (yang tidak berlaku untuk Grunt sejauh yang saya bimbang).
Dalam artikel pendek ini, mari kita hanya melakukan lawatan cepat tentang bagaimana untuk menubuhkan aliran kerja Gulp'y untuk bekerja dengan Sass. Inilah yang akan kita sertakan:
tidak mengejutkan, kompilasi sass dengan libsass
- Menjana sourcemaps untuk debugging yang lebih mudah
- Prefixing CSS dengan AutoPrefixer
- Menjana dokumentasi SASS dengan SASSDOC
- Menyusun sass
Tonton kursus ini Tonton kursus ini
Perkara pertama yang perlu dilakukan ialah memasang kebergantungan dan membuat gulpfile.js. Kami akan memerlukan Gulp (No Shit, Sherlock), tetapi juga Gulp-sass untuk menyusun stylesheets kami:
Baris ini memberitahu NPM untuk memasang pakej Gulp dan Gulp-Sass sebagai kebergantungan pembangunan. Anda kini boleh mencari mereka dalam objek DevDependencies pakej.json anda. Dan gulpfile.js:
$ <span>npm install gulp gulp-sass --save-dev</span>
wow, itu pendek. Apa yang kita perlukan sekarang adalah tugas
<span>var gulp = require('gulp'); </span><span>var sass = require('gulp-sass');</span>
untuk menjalankan sass (sebenarnya gulp-sass) di folder stylesheet kami. Itu sahaja! Kami kini boleh menyusun stylesheet kami menggunakan libsass terima kasih kepada tugas yang sangat minimum. Bagaimana dengan itu? Kita boleh lulus pilihan untuk menelefon untuk menyusun stylesheets dalam mod diperluas dan mencetak kesilapan dalam konsol: Setakat ini, begitu baik. Sekarang, bagaimana dengan menghasilkan sourcemaps? Sekiranya anda tidak tahu apa sourcemaps, ia pada dasarnya adalah cara untuk memetakan sumber pengeluaran termampat dengan sumber pembangunan yang diperluaskan untuk membuat debugging kod langsung lebih mudah. Mereka tidak terhad kepada CSS sama sekali, sourcemaps boleh digunakan dalam JavaScript juga. Kami mempunyai artikel yang bagus mengenai sourcemaps di sini di Sitepoint. Jangan ragu untuk membacanya sebelum pergi jika anda merasa agak pendek mengenai pemahaman sourcemaps. Baiklah, jadi untuk menambah generasi sourcemaps untuk tugas kita, kita perlu memasang gulp-sourcemaps: Dan sekarang mari kita mengoptimumkan tugas kita: Secara lalai, Gulp-Sourcemaps menulis sourcemaps sejajar dalam fail CSS yang disusun. Bergantung pada persediaan projek, kami mungkin ingin menulisnya dalam fail yang berasingan, di mana kita dapat menentukan jalan yang relatif kepada destinasi gulp.dest () dalam fungsi sourcemaps.write () seperti: Saya tidak akan terperinci tentang mengapa menggunakan autoprefixer lebih baik daripada menulis vendor dengan tangan (atau dengan mixin yang pada dasarnya adalah perkara yang sama), tetapi kira-kira autoprefixer adalah langkah pasca pemprosesan yang bermaksud ia sebenarnya telah dikumpulkan Stylesheets untuk menambah awalan yang relevan berdasarkan pangkalan data terkini dan konfigurasi yang diberikan. Dalam erti kata lain, anda memberitahu AutoPrefixer yang pelayar yang anda ingin menyokong, dan ia hanya menambah awalan yang relevan ke stylesheets. Usaha sifar, sokongan sempurna (sila ingatkan saya untuk paten frasa tangkapan ini). Untuk memasukkan autoprefixer dalam aliran kerja Gulp'y kami, kami hanya memerlukannya untuk paip selepas Sass telah melakukan perkara itu. Kemudian AutoPrefixer mengemas kini stylesheets untuk menambah awalan. Pertama, mari pasangnya (anda dapatkan intipati sekarang): maka kami menambahnya kepada tugas kami: sekarang, kami berlari dengan konfigurasi lalai dari AutoPrefixer yang kita boleh menggunakan konfigurasi kita sendiri seperti: alat terakhir, tetapi tidak kurang, untuk menambah alur kerja kami, generasi dokumentasi SASS dengan SASSDOC. SASSDOC adalah untuk menghidupkan JSDOC kepada JavaScript: alat dokumentasi. Ia menghancurkan stylesheet anda mencari blok komen yang mendokumentasikan pembolehubah, campuran, fungsi dan ruang letak. Jika projek anda menggunakan sassdoc (ia sepatutnya!), Anda boleh menambah generasi dokumentasi automatik dalam aliran kerja anda. Perkara yang sejuk dengan Sassdoc adalah bahawa ia boleh disalurkan secara langsung di Gulp kerana APInya bersesuaian. Jadi anda sebenarnya tidak mempunyai plugin Gulp-Sassdoc. Perhatikan bahawa bergantung pada saiz projek anda dan bilangan item yang didokumenkan, Sassdoc boleh mengambil masa beberapa saat untuk dijalankan (jarang melebihi 3 sejauh yang saya perhatikan), jadi anda mungkin mahu mempunyai Tugas berasingan untuk ini.
Untuk menyusun fail SASS anda menggunakan GULP, anda perlu membuat tugas GULP. Dalam gulpfile.js anda, anda boleh membuat tugas bernama 'sass' yang akan menyusun fail SASS anda ke CSS. Berikut adalah contoh mudah bagaimana untuk melakukan ini: $ <span>npm install gulp gulp-sass --save-dev</span>
<span>var gulp = require('gulp');
</span><span>var sass = require('gulp-sass');</span>
Menambah Sourcemaps
<span>var input = './stylesheets/**/*.scss';
</span><span>var output = './public/css';
</span>
gulp<span>.task('sass', function () {
</span> <span>return gulp
</span> <span>// Find all `.scss` files from the `stylesheets/` folder
</span> <span>.src(input)
</span> <span>// Run Sass on those files
</span> <span>.pipe(sass())
</span> <span>// Write the resulting CSS in the output folder
</span> <span>.pipe(gulp.dest(output));
</span><span>});</span>
<span>var sassOptions = {
</span> <span>errLogToConsole: true,
</span> <span>outputStyle: 'expanded'
</span><span>};
</span>
gulp<span>.task('sass', function () {
</span> <span>return gulp
</span> <span>.src(input)
</span> <span>.pipe(sass(sassOptions).on('error', sass.logError))
</span> <span>.pipe(gulp.dest(output));
</span><span>});</span>
$ <span>npm install gulp-sourcemaps --save-dev</span>
membawa autoprefixer ke parti
<span>var gulp = require('gulp');
</span><span>var sass = require('gulp-sass');
</span><span>var sourcemaps = require('gulp-sourcemaps');
</span>
<span>// ... variables
</span>
gulp<span>.task('sass', function () {
</span> <span>return gulp
</span> <span>.src(input)
</span> <span>.pipe(sourcemaps.init())
</span> <span>.pipe(sass(sassOptions).on('error', sass.logError))
</span> <span>.pipe(sourcemaps.write())
</span> <span>.pipe(gulp.dest(output));
</span><span>});</span>
gulp<span>.task('sass', function () {
</span> <span>return gulp
</span> <span>.src(input)
</span> <span>.pipe(sourcemaps.init())
</span> <span>.pipe(sass(sassOptions).on('error', sass.logError))
</span> <span>.pipe(sourcemaps.write('./stylesheets/maps'))
</span> <span>.pipe(gulp.dest(output));
</span><span>});</span>
$ <span>npm install gulp-autoprefixer --save-dev</span>
Lepaskan dokumen!
$ <span>npm install gulp gulp-sass --save-dev</span>
<span>var gulp = require('gulp');
</span><span>var sass = require('gulp-sass');</span>
<span>var input = './stylesheets/**/*.scss';
</span><span>var output = './public/css';
</span>
gulp<span>.task('sass', function () {
</span> <span>return gulp
</span> <span>// Find all `.scss` files from the `stylesheets/` folder
</span> <span>.src(input)
</span> <span>// Run Sass on those files
</span> <span>.pipe(sass())
</span> <span>// Write the resulting CSS in the output folder
</span> <span>.pipe(gulp.dest(output));
</span><span>});</span>
<span>var sassOptions = {
</span> <span>errLogToConsole: true,
</span> <span>outputStyle: 'expanded'
</span><span>};
</span>
gulp<span>.task('sass', function () {
</span> <span>return gulp
</span> <span>.src(input)
</span> <span>.pipe(sass(sassOptions).on('error', sass.logError))
</span> <span>.pipe(gulp.dest(output));
</span><span>});</span>
Masih ada sesuatu yang boleh kita lakukan sebelum meninggalkan: Membuat tugas menonton. Titik tugas ini adalah untuk melihat perubahan dalam stylesheets untuk mengkompilasi semula mereka lagi. Ia sangat mudah apabila bekerja di bahagian sass projek supaya anda tidak perlu menjalankan tugas SASS dengan tangan setiap kali anda menyimpan fail. $ <span>npm install gulp-sourcemaps --save-dev</span>
perkara terakhir, namun penting, untuk difikirkan: menjalankan sass dalam tugas lalai. <span>var gulp = require('gulp');
</span><span>var sass = require('gulp-sass');
</span><span>var sourcemaps = require('gulp-sourcemaps');
</span>
<span>// ... variables
</span>
gulp<span>.task('sass', function () {
</span> <span>return gulp
</span> <span>.src(input)
</span> <span>.pipe(sourcemaps.init())
</span> <span>.pipe(sass(sassOptions).on('error', sass.logError))
</span> <span>.pipe(sourcemaps.write())
</span> <span>.pipe(gulp.dest(output));
</span><span>});</span>
menyusun sass dalam mod termampat
gulp<span>.task('sass', function () {
</span> <span>return gulp
</span> <span>.src(input)
</span> <span>.pipe(sourcemaps.init())
</span> <span>.pipe(sass(sassOptions).on('error', sass.logError))
</span> <span>.pipe(sourcemaps.write('./stylesheets/maps'))
</span> <span>.pipe(gulp.dest(output));
</span><span>});</span>
itu orang! Hanya dalam beberapa minit dan beberapa baris JavaScript, kami telah berjaya membuat aliran kerja Gulp yang kuat. Anda boleh mencari fail penuh di sini. Apa yang akan anda tambahkan?
Bagaimana saya memasang Gulp dan Sass untuk projek saya? Sebaik sahaja anda mempunyai ini, anda boleh memasang GULP secara global dengan menjalankan pemasangan NPM Command-Gulp-CLI global di terminal anda. Selepas itu, navigasi ke direktori projek anda dan jalankan NPM init untuk membuat fail Package.json. Kemudian, pasang Gulp dan Gulp-Sass dalam projek anda dengan menjalankan NPM Install--Save-Dev Gulp Gulp-Sass.
Bagaimana saya menyusun fail sass saya menggunakan GULP?
var gulp = memerlukan ('gulp');
var sass = memerlukan ('gulp-sass'); ('sass', fungsi () {
Tugas ini akan mengambil semua fail .scss dalam direktori sass anda, menyusunnya ke dalam CSS menggunakan s-sass, dan output CSS yang dihasilkan fail dalam direktori css anda.
Bagaimana saya menonton perubahan dalam fail sass saya dan menyusunnya secara automatik? berubah. Berikut adalah cara anda boleh mengubahsuai tugas 'sass' untuk menonton perubahan:
gulp.task ('sass', function () {
gulp.watch ('./ sass/**/*. scss', ['sass']);
}); 🎜>
Apabila menyusun fail SASS, anda mungkin menghadapi ralat sintaks. Anda boleh mengendalikan kesilapan ini menggunakan kaedah ON yang disediakan oleh Gulp-Sass. Berikut adalah cara anda boleh mengubahsuai tugas 'sass' untuk log ralat:
gulp.task ('sass', function () {
kembali gulp.src ('./ sass/**/*. scss ')
.pipe (sass (). on (' error ', sass.logerror))
.pipe (gulp.dest ('./ css')); Bagaimana saya menggunakan Gulp untuk meminimumkan fail CSS saya? Plugin Gulp yang dipanggil Gulp-Clean-CSS. Pertama, pasangkannya dalam projek anda dengan menjalankan NPM Install--Save-Dev Gulp-Clean-CSS. Kemudian, anda boleh membuat tugas yang akan meminimumkan fail CSS anda:
.pipe (cleanCss ({keserasian: 'ie8'}))
.pipe (gulp.dest ('dist')); Dalam direktori Styles anda, tenggelam mereka menggunakan Gulp-Clean-CSS, dan output fail CSS minified yang dihasilkan dalam direktori Dist anda.
Atas ialah kandungan terperinci Aliran kerja yang mudah ' y untuk sass. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Perbincangan mengenai realisasi kesan animasi tatal dan elemen Parallax dalam artikel ini akan meneroka bagaimana untuk mencapai yang serupa dengan laman web rasmi Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ... ...

Pembelajaran JavaScript tidak sukar, tetapi ia mencabar. 1) Memahami konsep asas seperti pembolehubah, jenis data, fungsi, dan sebagainya. 2) Pengaturcaraan asynchronous tuan dan melaksanakannya melalui gelung acara. 3) Gunakan operasi DOM dan berjanji untuk mengendalikan permintaan tak segerak. 4) Elakkan kesilapan biasa dan gunakan teknik debugging. 5) Mengoptimumkan prestasi dan mengikuti amalan terbaik.

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

Masalah kemas kini data dalam operasi Zustand Asynchronous. Apabila menggunakan Perpustakaan Pengurusan Negeri Zustand, anda sering menghadapi masalah kemas kini data yang menyebabkan operasi tak segerak menjadi tidak lama lagi. � ...
