首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gulp和gulp编译更少?

使用gulp和gulp编译更少?
EN

Stack Overflow用户
提问于 2014-12-23 21:01:58
回答 3查看 1.2K关注 0票数 7

我正在尝试使用插件来编译我的更少的文件,但这就好像没有吞咽的插件从来没有输出我的更少文件的编译版本。较少的文件与其他CSS文件连接在一起,而不需要编译。

我试着单独编译我的更少的代码,而且它运行得很好,但是我不知道为什么它似乎与gulp插件相冲突。

这是我的吞咽文件:

代码语言:javascript
复制
var gulp = require('gulp');
var rm = require('gulp-rimraf');
var gulpif = require('gulp-if');
var less = require('gulp-less');
var cssmin = require('gulp-minify-css');
var useref = require('gulp-useref');

gulp.task('clean', function () {
    return gulp.src(['public'])
        .pipe(rm({force: true}));
});

gulp.task('refs', ['clean'], function () {
    var assets = useref.assets({searchPath: '.'});

    return gulp.src(['templates/**/*.html'])
        .pipe(assets)
        .pipe(gulpif('*.less', less()))
        .pipe(gulpif('*.css', cssmin()))
        .pipe(assets.restore())
        .pipe(gulpif('*.html', useref()))
        .pipe(gulp.dest('public/templates'));
});

提前感谢您的回答!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-27 21:22:25

据我所知,你不可能做到的。

通过以下方式:

代码语言:javascript
复制
<!-- build:css css/combined.css -->
<link href="css/one.css" rel="stylesheet">
<link href="css/two.css" rel="stylesheet">
<link rel="stylesheet/less" type="text/less" href="less/website.less" />
<!-- endbuild -->

useref.assets为css/bined.css创建一个流,其中包含css/one.css、css/two.css和website.less的内容。因为您的流的名称是css/combined.css,所以只有.pipe(gulpif('*.css', cssmin()))匹配。

如果使用.pipe(gulpif('*.css', less())),较少的编译器将将所有三个文件的内容编译到css/bined.css中。

所以你可以使用:

代码语言:javascript
复制
    .pipe(gulpif('*.css', less()))
    .pipe(gulpif('*.css', cssmin()))

上面的代码使用较少的编译器同时编译*.css和*.less文件(原因是可以编译css的次数较少,结果可能与预期一样)。

票数 3
EN

Stack Overflow用户

发布于 2014-12-25 22:21:23

尝试添加自定义类型

代码语言:javascript
复制
var assets = useref.assets({
   searchPath: '.', 
   types: ['js', 'css', 'less']
});
票数 0
EN

Stack Overflow用户

发布于 2016-12-20 15:45:11

代码语言:javascript
复制
var gulp = require('gulp'); 
var sass = require('gulp-sass');
var concat= require('gulp-concat');
var minifyCss  = require('gulp-cssnano');

var uglify = require('gulp-uglify');
var pump = require('pump');
var useref = require('gulp-useref');

gulp.task('sass', function(){
  gulp.src(['css/**/*.scss' ,'css/**/*.css' ])
    .pipe(sass()) // Using gulp-sass
    .pipe(minifyCss())  
    .pipe(concat('all.css')) 
    .pipe(gulp.dest('build/css'))
});


gulp.task('compressJS', function (cb) {

 return gulp.src(['lib/*.js'])
        .pipe(concat('concat.js'))
        .pipe(uglify())
        .pipe(gulp.dest('build/js'))


});
var gulp = require('gulp'),
  useref = require('gulp-useref');

gulp.task('default',  ['sass'] , function () {

 //нема

  return gulp.src('*.html')
    .pipe(useref())
    .pipe(gulp.dest('dist')); 
});

然后包括由all.css (‘sass’)生成的文件gulp.task

代码语言:javascript
复制
<link rel="stylesheet" href="css/all.css" >
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27627936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档