我正在构建一个新的gulpfile,任务之一是使用purgecss
但是,每次我运行任务时,都会出现此错误。
TypeError: Cannot call a class as a function
我不知道为什么会这样,而谷歌搜索对我没有帮助。 Java并不是我的强项。
吞噬任务。
/**
* Custom PurgeCSS Extractor
* https://gist.github.com/taylorbryant/91fc05b12472a88a8b6494f610647cd4
*/
class TailwindExtractor {
static extract(content) {
return content.match(/[A-z0-9-:\/]+/g);
}
}
// purge task
gulp.task("purge", async () => {
return gulp.src(pkg.paths.dist.css + '*.css')
.pipe($.purgecss({
content: [pkg.paths.templates + "/**/*.{html,htm,twig}", pkg.paths.templates + "/**/**/*.{html,htm,twig}", pkg.paths.templates + "*.{html,htm,twig}"],
extractors: [{
extractor: TailwindExtractor,
extensions: ["html", "htm", "twig"]
}]
}))
.pipe($.if(["*.css", "!*.purge.css"],
$.rename({
suffix: ".purge"
})
))
.pipe(gulp.dest(pkg.paths.dist.css))
});
// end purge task
感谢您的帮助。
编辑-切换为简化任务,但仍然出现相同错误
/**
* Custom PurgeCSS Extractor
* https://gist.github.com/taylorbryant/91fc05b12472a88a8b6494f610647cd4
*/
class TailwindExtractor {
static extract(content) {
return content.match(/[A-z0-9-:\/]+/g);
}
}
// purge task
gulp.task("purge", async () => {
$.fancylog.info("-> purging unused css");
return gulp.src(pkg.paths.dist.css + '*.css')
.pipe($.plumber({ errorHandler: onError }))
.pipe(
$.purgecss({
content: [pkg.paths.templates + "*.{html,htm,twig}"]
})
)
.pipe(gulp.dest(pkg.paths.dist.css))
});