gpt4 book ai didi

javascript - .pipe() 函数在 gulp 中返回什么?

转载 作者:行者123 更新时间:2023-11-29 23:46:07 25 4
gpt4 key购买 nike

在下面的代码片段中,.pipe(gulpIf('*.css', cssnano())) 的输入和输出是什么?

gulp.task('useref', function(){
return gulp.src('app/*.html')
.pipe(useref())
.pipe(gulpIf('*.js', uglify()))
.pipe(gulpIf('*.css', cssnano()))
.pipe(gulp.dest('dist'))
});

API 文档 ( link ) 说 .pipe(destination) 返回对目标流的引用以设置链,如果是 .pipe(gulpIf('*.js' , uglify())) 会将流返回到缩小的 .js 文件,如何将其通过管道传输到 .pipe(gulpIf('*.css', cssnano()))

最佳答案

Gulp 只是一个任务运行器,具有相当简单的基本功能。它的力量来自广泛的第三方包生态系统,您自己的代码片段至少使用了四个。我说四个是因为它显示在您的 gulpfile.js 源代码中; gulp 本身有 13 direct runtime dependencies :

"dependencies": {
"archy": "^1.0.0",
"chalk": "^1.0.0",
"deprecated": "^0.0.1",
"gulp-util": "^3.0.0",
"interpret": "^1.0.0",
"liftoff": "^2.1.0",
"minimist": "^1.1.0",
"orchestrator": "^0.3.0",
"pretty-hrtime": "^1.0.0",
"semver": "^4.1.0",
"tildify": "^1.0.0",
"v8flags": "^2.0.2",
"vinyl-fs": "^0.3.0"
},

...以及类似数量的直接开发依赖项。

gulp 传递的流由 vinyl-fs 提供并且不代表单个文件而是虚拟文件系统。

关于您的代码,您肯定只从 HTML 文件开始:

gulp.src('app/*.html')

... 但紧接着你执行了一个名为 gulp-useref 的第三方包:

.pipe(useref())

根据其文档:

will parse the build blocks in the HTML, replace them and pass thosefiles through. Assets inside the build blocks will be concatenated andpassed through in a stream as well.

换句话说,它解析 HTML 文件以识别/生成 Assets 文件,并将它们添加到流中以供进一步处理。

关于javascript - .pipe() 函数在 gulp 中返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44064898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com