我有我使用一飲而盡文件,它包含創建標準非壓縮.css
文件和壓縮.css
文件的過程;我曾經簡單地通過縮小剛剛生成的非壓縮版本來生成壓縮版本,但是這導致映射指向非壓縮的.css
文件而非.scss
文件的問題,因爲它實際上從未實際上關閉了.scss
文件。使用咕嘟咕嘟時創建標準和壓縮css文件有效
所以我改變了它,以便兩個進程現在使用.scss
文件,但是這看起來效率很低,因爲它們都必須經過相同的進程才能建立它們各自的文件。
這裏是我gulpfile.js
的相關部分:
var gulp = require('gulp');
var cssnano = require('gulp-cssnano');
var plumber = require('gulp-plumber');
var postcss = require('gulp-postcss');
var rename = require('gulp-rename');
var sass = require('gulp-sass');
var sourcemaps = require('gulp-sourcemaps');
var uglify = require('gulp-uglify');
var livereload = require('gulp-livereload');
var autoprefixer = require('autoprefixer');
var ap_options = {
browsers: [
'last 4 Chrome versions',
'last 4 Firefox versions',
'last 4 Edge versions',
'last 2 Safari versions',
'ie >= 10',
'> 1.49%',
'not ie <= 9'
],
};
gulp.task('postcss', function() {
return gulp.src('scss/*.scss')
.pipe(plumber()) // Deal with errors.
.pipe(sourcemaps.init()) // Wrap tasks in a sourcemap.
.pipe(sass({ // Compile Sass using LibSass.
errLogToConsole: true,
outputStyle: 'expanded' // Options: nested, expanded, compact, compressed
}))
.pipe(postcss([ // Parse with PostCSS plugins.
autoprefixer(ap_options),
]))
.pipe(sourcemaps.write('../maps')) // Create sourcemap.
.pipe(gulp.dest('./css/')) // Create style.css.
.pipe(livereload());
});
gulp.task('cssnano', ['postcss'], function() {
return gulp.src('scss/*.scss')
.pipe(plumber()) // Deal with errors.
.pipe(sourcemaps.init()) // Wrap tasks in a sourcemap.
.pipe(sass({ // Compile Sass using LibSass.
errLogToConsole: true,
outputStyle: 'compressed' // Options: nested, expanded, compact, compressed
}))
.pipe(postcss([ // Parse with PostCSS plugins.
autoprefixer(ap_options),
]))
.pipe(cssnano({ // Minify CSS
safe: true // Use safe optimizations
}))
.pipe(rename({ suffix: '.min' })) // Append our suffix to the name
.pipe(sourcemaps.write('../maps')) // Create sourcemap.
.pipe(gulp.dest('./css/')) // Create style.min.css.
.pipe(livereload());
});
有沒有更有效的方法來做到這一點,我可以創建正確的映射文件既非壓縮和壓縮版本?
與從非壓縮版本構建min版本相比,從SCSS構建兩個CSS文件需要多長時間? – Barryman9000
@ Barryman9000不確定,我想我可以做一些測試。但主要問題是我在工作中使用的個人電腦比我的家用電腦慢很多,我試圖加快速度,因爲速度有點慢。 – Brett