Gulp.src匹配文件夹,带方括号。

问题描述 投票:0回答:2

我已经用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
}

我到底做错了什么?

javascript node.js gulp
2个回答
2
投票

使用 \\ 逃亡 [].

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来匹配方括号字词


0
投票

好吧,经过一些天的尝试,使它的工作,它似乎这是工作的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

© www.soinside.com 2019 - 2024. All rights reserved.