首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手写笔预处理器将不能在useref内使用gulpif工作

手写笔预处理器将不能在useref内使用gulpif工作
EN

Stack Overflow用户
提问于 2017-03-13 19:58:16
回答 1查看 59关注 0票数 1

我有一个非常基本的gulp任务,我想处理一个Stylus CSS文件(.styl)。这是gulpfile中的任务:

代码语言:javascript
复制
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的特定部分。

代码语言:javascript
复制
<!--build:css css/style.min.css -->
<link rel="stylesheet" href="style.styl">
<!-- endbuild -->

无论出于什么原因,Stylus文件都不会被处理,并且在没有任何处理的情况下被复制到css/style.min.css。

更奇怪的是,如果我将CSS格式化为普通的CSS文件,并将"stylus()“替换为" cssnano ()",cssnano就可以很好地工作并缩小文件。当作为自己的任务运行时,手写笔在useref和gulpIf之外工作得很好,但我更希望这样使用它。

EN

回答 1

Stack Overflow用户

发布于 2017-03-13 21:41:22

您是否可以尝试为useref指定它可以找到资产的根路径:

options.searchPath

类型:字符串或数组默认值:无

指定要搜索资源文件的位置(相对于当前工作目录)。可以是字符串或字符串数组。

你的任务

代码语言:javascript
复制
gulp.task("default", function(){
    return gulp.src("*.htm")
    .pipe(useref({
            searchPath: 'assets_path_here'
        }))
    .pipe(gulpIf("*.css", stylus()))
    .pipe(gulp.dest("dist"))
});

我个人只是设置了包含整个应用程序的根目录的路径。

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

https://stackoverflow.com/questions/42763108

复制
相关文章

相似问题

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