如何将gulp-uncss-task用于远程文件

时间:2014-07-02 18:04:59

标签: node.js gulp

前言: 我正在使用uncss,正如说明所说,从命令行使用它是直截了当的:

uncss [options] <file or url, ...>
e.g. uncss http://getbootstrap.com/examples/jumbotron/ > stylesheet.css

并且,如上所述,这适用于远程文件(甚至PHP脚本),因此我可以调用:

uncss http://www.example.com/myPage.php > myPage.css

它会完美无缺。

另外,我在Node.js应用程序中工作(根据文档中的说明):

var uncss = require('uncss');

var files   = [],
    options = {
        urls         : ['http://www.example.com/myPage.php'], // Deprecated
    };

uncss(files, options, function (error, output) {
    console.log(output);
});

我想知道Deprecatedurls评论的原因 - 我无法找到任何其他信息吗?

实际问题:由于我使用gulp来运行构建任务,我想使用gulp-unss-task来实现同样的事情(解开远程文件),以便我可以管它进一步到最小化任务。从文档中可以看出这是不可能的,但是如果有人之前处理过这个并且可能有解决方案,那将会很感激。

gulp-uncss-task的使用文档:

var gulp = require('gulp');
var uncss = require('gulp-uncss-task');

gulp.task('default', function() {
    gulp.src('bootstrap.css')
        .pipe(uncss({
            html: ['index.html', 'contact.html', 'about.html']
        }))
        .pipe(gulp.dest('dest'));
});

1 个答案:

答案 0 :(得分:2)

我维持gulp-uncss。您要做的是使用html选项传递您的网址;由于此功能,不推荐使用urls。我意识到这在插件的自述文件中没有正确记录,因此我将更新它。但与此同时,这段代码将有所帮助:

gulp.task('uncss', function() {
    gulp.src('site.css')
        .pipe(uncss({
            html: [
                'http://www.example.com/myPage.php'
            ]
        }))
        .pipe(gulp.dest('./out'));
});

请注意,如果要指定文件路径/ URL,则必须在此处传递数组。希望这会有所帮助。