首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gulp.js和变量文件名

Gulp.js和变量文件名
EN

Stack Overflow用户
提问于 2016-03-07 15:04:05
回答 1查看 935关注 0票数 1

我有一个名为css的目录。它是CSS文件,它只将@import语句与其他CSS块保持一致。我希望将@import语句咀嚼到一个文件中,并将.min.css添加到文件名中。

在此之前:

代码语言:javascript
复制
css
-- foo.css
-- bar.css

之后:

代码语言:javascript
复制
css
-- foo.css
-- foo.min.css
-- bar.css
-- bar.min.css

我使用的是gulp concat css,但是它需要一个字符串参数来表示包含连接css的生成文件的相对路径。我想要做的是传入一个变量,其中包含由gulp.src('css/*.css')处理的当前文件的文件名。

这是我的完整gulp.js文件..。

代码语言:javascript
复制
var gulp = require('gulp');
var del = require('del');
var concatCSS = require('gulp-concat-css');
var cssnano = require('gulp-cssnano');

gulp.task('clean:min-css', function () {
    // Delete all *.min.css files in the CSS directory so we don't get duplicates
    return del([
        'css/*.min.css'
    ]);
});

gulp.task('default', ['clean:min-css'], function() {
    gulp.src('css/*.css')
        // Munge contents of @import statements into one file
        .pipe( concatCSS( currentFileName + '.min.css' ) )

        // minify CSS
        .pipe( cssnano() )

        // Save out the new file
        .pipe( gulp.dest('css/') );
});
EN

回答 1

Stack Overflow用户

发布于 2016-03-07 15:38:05

我不知道有什么简单的解决办法。

不过,我不认为您需要使用一刀切的css,看起来https://www.npmjs.com/package/gulp-renamehttps://www.npmjs.com/package/gulp-cssimport的结合就足够了:

代码语言:javascript
复制
var rename = require('gulp-rename'),
    cssimport = require('gulp-cssimport');
// ...
gulp.task('default', ['clean:min-css'], function() {
    return gulp.src('css/*.css')
           .pipe(cssimport({})) // process imports
           .pipe(cssnano()) // minify CSS
           .pipe(rename({ extname: '.min.css' })) // change extension
           .pipe(gulp.dest('css/'));
});

实际上,你会考虑用狼吞虎咽的方法。它能够处理导入和压缩CSS文件(outputStyle: 'compressed')。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35847023

复制
相关文章

相似问题

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