我已经用gulp自动完成了我项目中的所有任务。
然而我有一个特定的名字文件夹,名字中带有方括号(是的,它的名字中必须要有方括号,这是故意的),这似乎不能用gulp.我需要瞄准那个文件夹,并对其中的javascript进行最小化。我试过使用regex匹配模式,但只要我读到gulp使用的是blob,要么是我不懂blob,要么是我做错了这一点。
比方说,我有一个文件夹,名字里面有脚本:[testFolder] > script1.js, script2.js这是我用代码瞄准它的方式。
function minifyJs() {
return gulp.src('resources/[testFolder]/**/*.js') // not working
return gulp.src('resources/\[.*testFolder\]/**/*.js) // not working either desipte I've tested
it on various things
.pipe(minify({ noSource: true }))
.pipe(gulp.dest('resources/[testFolder]')) // this is working pretty much fine
}
我到底做错了什么?
使用 \\
逃亡 []
.
function minifyJs() {
return gulp.src('resources/\\[testFolder\\]/**/*.js') // not working
.pipe(minify({ noSource: true }))
.pipe(gulp.dest('resources/[testFolder]')) // this is working pretty much fine
}
更多信息请阅读 球状段和分隔符 和 如何使用RegEx来匹配方括号字词
好吧,经过一些天的尝试,使它的工作,它似乎这是工作的MacOS linux和Windows(在Windows 10测试)感谢@Saeed帮助在下面的答案。
// MAC / LINUX OS
function minifyJs() {
return gulp.src('resources/\\[testFolder\\]/**/*.js') // note the \\[name\\] escape here
.pipe(minify({ noSource: true }))
.pipe(gulp.dest('resources/[testFolder]')) // this is working for both
}
// WINDOWS
function minifyJs() {
return gulp.src('resources/[[]testFolder]/**/*.js') // note [[]name] escape here
.pipe(minify({ noSource: true }))
.pipe(gulp.dest('resources/[testFolder]')) // this is working for both
}
这是为Windows