我有一个非常基本的 gulp 任务,我想处理一个 Stylus CSS 文件 (.styl)。这是 gulpfile 中的任务:
const gulp = require("gulp");
const gulpIf = require("gulp-if");
const useref = require("gulp-useref");
const stylus = require("gulp-stylus");
const cssnano = require("gulp-cssnano");
gulp.task("default", function(){
return gulp.src("*.htm")
.pipe(useref())
.pipe(gulpIf("*.css", stylus()))
.pipe(gulp.dest("dist"))
});
这是 html 的特定部分
<!--build:css css/style.min.css -->
<link rel="stylesheet" href="style.styl">
<!-- endbuild -->
无论出于何种原因,Stylus 文件都没有得到处理,而是被复制到 css/style.min.css 而不进行任何处理。
更奇怪的是,如果我将 CSS 格式化为普通的 CSS 文件并将“stylus()”替换为“cssnano()”,cssnano 可以正常工作并缩小文件。当作为自己的任务运行时,Stylus 在 useref 和 gulpIf 之外可以正常工作,但我最好像这样使用它。