我找到了以下Gulp片段,我对此有疑问。正如您所看到的,gulp.dest('app/assets/css')
部分有两次,一次是在自动修复之后,一次是在结束时。我试图删除第一个,只留下最后一个,我没有看到任何区别。所以我的问题是有没有任何理由第一次gulp.dest或它可以被删除?可能是重命名任务或cssnano任务要求文件已经在目的地吗?
gulp.task('css', function () {
return gulp.src('src/scss/style.scss')
.pipe(sourcemaps.init())
.pipe(sass().on('error', sass.logError))
.pipe(autoprefixer('last 2 version'))
.pipe(gulp.dest('app/assets/css'))
.pipe(cssnano())
.pipe(rename({ suffix: '.min' }))
.pipe(header(banner, { package : package }))
.pipe(sourcemaps.write())
.pipe(gulp.dest('app/assets/css'))
.pipe(browserSync.reload({stream:true}));
});
答案 0 :(得分:0)
似乎这个脚本也在创建sourcemaps文件,并且还把它放到了
资产/ CSS
目录。实际上你可以删除这两行:
.pipe(sourcemaps.write())
.pipe(gulp.dest('app/assets/css'))
如果您当然不需要源图。
UPD:
如果您只删除第一个gulp.dest()
,则第二个仍然只编写源映射,因为gulp.dest()
命令只接受传递的数据并将其写入目标目录。在这种情况下,传递数据'只是源图。
在第一个gulp.dest()
中,传递的数据是autoprefixed css。
.pipe(autoprefixer('last 2 version')) // autoprefixed css is ready
.pipe(gulp.dest('app/assets/css')) //css is passed to gulp.dest
........
.pipe(sourcemaps.write()) // sourcemaps are ready
.pipe(gulp.dest('app/assets/css')) // sourcemaps passed to gulp dest