- 文法:gulp.src(globs[, options])
- 比對模式
- 單比對模式
- 多比對模式(同時使用多種比對)
- 1. 類正則
- 2. 數組
- 3. 展開模式
文法: gulp.src(globs[, options])
gulp.src(globs[, options])
-
:檔案比對模式(類似正規表達式),用來比對檔案路徑(包括檔案名)globs
-
:為可選參數。通常情況下我們不需要用到options
gulp.src('**/*.js')
比對模式
Gulp 内部使用了 node-glob 子產品來實作其檔案比對功能
單比對模式
比對符 | code | 比對 | 不比對 | 備注 |
| | , , , | | 不比對 ,除非 出現在末尾 |
| , | | 比對所有帶字尾的檔案 | |
| , , | 比對所有目錄下的 檔案 | ||
| , , , | |||
| , | , | 單獨出現才能比對多級目錄 | |
| | , , | 占位符比對,不比對 | |
| , | | 占位符與字元搭配使用 | |
| | , , | , | 整個 隻比對一個字元 |
| , | , , | 排除比對字元 |
多比對模式(同時使用多種比對)
1. 類正則
表達式 | 備注 |
---|---|
| 比對任何與括号中給定的任一模式都不比對的 |
| 比對括号中給定的任一模式0次或1次,類似于js正則中的 |
| 比對括号中給定的任一模式至少1次,類似于js正則中的 |
| 比對括号中給定的任一模式0次或多次,類似于js正則中的 |
| 比對括号中給定的任一模式1次,類似于js正則中的 |
2. 數組
- 使用數組比對多種模式
gulp.src(['js/*.js', 'css/*.css', '*.html'])
-
使用數組 + 排除模式
排除模式不能出現在數組的第一個元素中
gulp.src([*.js,'!b*.js']) // 比對所有js檔案,但排除掉以b開頭的js檔案
gulp.src(['!b*.js',*.js]) // 不排除任何檔案,因為排除模式不能出現在數組的第一個元素中
3. 展開模式
以
{}
作為定界符,根據它裡面的内容,會展開為多個模式,
最後比對的結果為所有展開的模式相加起來得到的結果 !
1.
a{b, c}d
展開為:
abc
,
acd
2.
a{b,}c
展開為:
abc
,
ac
3.
a{0..3}c
展開為:
a0c
,
a1c
,
a2c
4.
a{b, c{d, e}f}g
展開為:
abg
,
acdfg
,
acefg
5.
a{b, c}d{e, f}g
展開為:
abdeg
,
acdeg
,
abdeg
,
abdfg