在我的gulp.js文件中,我将所有HTML文件从examples
文件夹传输到build
文件夹。
创建gulp任务并不困难:
var gulp = require('gulp');
gulp.task('examples', function() {
return gulp.src('./examples/*.html')
.pipe(gulp.dest('./build'));
});
但我无法弄清楚如何检索任务中找到(和处理)的文件名,或者我找不到合适的插件。
答案 0 :(得分:163)
我不确定你想如何使用文件名,但其中一个应该有用:
如果您只想查看名称,可以使用类似gulp-debug
的内容,其中列出了乙烯基文件的详细信息。将其插入您想要列表的任何位置,如下所示:
var gulp = require('gulp'),
debug = require('gulp-debug');
gulp.task('examples', function() {
return gulp.src('./examples/*.html')
.pipe(debug())
.pipe(gulp.dest('./build'));
});
另一个选项是gulp-filelog
,我没有使用过,但听起来很相似(可能会更清洁)。
另一个选项是gulp-filesize
,它会输出文件及其大小。
如果您想要更多控制,可以使用gulp-tap
之类的东西,它可以让您提供自己的功能并查看管道中的文件。
答案 1 :(得分:21)
我发现这个插件正在做我期待的事情:gulp-using
简单用法示例:使用.jsx扩展名搜索项目中的所有文件
gulp.task('reactify', function(){
gulp.src(['../**/*.jsx'])
.pipe(using({}));
....
});
输出:
[gulp] Using gulpfile /app/build/gulpfile.js
[gulp] Starting 'reactify'...
[gulp] Finished 'reactify' after 2.92 ms
[gulp] Using file /app/staging/web/content/view/logon.jsx
[gulp] Using file /app/staging/web/content/view/components/rauth.jsx
答案 2 :(得分:8)
这是另一种简单的方法。
var es, log, logFile;
es = require('event-stream');
log = require('gulp-util').log;
logFile = function(es) {
return es.map(function(file, cb) {
log(file.path);
return cb();
});
};
gulp.task("do", function() {
return gulp.src('./examples/*.html')
.pipe(logFile(es))
.pipe(gulp.dest('./build'));
});
答案 3 :(得分:6)
您可以使用gulp-filenames模块获取路径数组。 您甚至可以按命名空间对它们进行分组:
var filenames = require("gulp-filenames");
gulp.src("./src/*.coffee")
.pipe(filenames("coffeescript"))
.pipe(gulp.dest("./dist"));
gulp.src("./src/*.js")
.pipe(filenames("javascript"))
.pipe(gulp.dest("./dist"));
filenames.get("coffeescript") // ["a.coffee","b.coffee"]
// Do Something With it
答案 4 :(得分:0)
如果您想在Typescript中使用@OverZealous'回答(https://stackoverflow.com/a/21806974/1019307),则需要.mytoast {
width: 100%;
text-align: right;
}
代替import
:
require
(我还添加了import * as debug from 'gulp-debug';
...
return gulp.src('./examples/*.html')
.pipe(debug({title: 'example src:'}))
.pipe(gulp.dest('./build'));
)。