正在学习ts,配置项里有./src/**/*,这个**/*是什么意思?

哪位大神帮我一下
配置代码如下

    {
    "compilerOptions": {
        "outDir": "./built",
        "allowJs": true,
        "target": "es5"
    },
    "include": [
        "./src/**/*"
    ]
}

或者说这种写法有什么规范???

阅读 7.4k
3 个回答

这个呢,其实不是 ts 专有的。
语义是:Matches directories recursively. 即遍历目录。

 "include": [
        "./src/**/*"
    ]

语义即为:包含 ./src/ 下的所有目录的所有文件,包含任何目录下面的目录下的文件。

举例:
(注:Bash 需要大于或等于4.0版本,且开启shopt -s globstar

root@localhost:/tmp# tree test
test
├── a
│   └── aa
│       └── aaa
│           └── aaa0.txt
├── b
│   └── bb
│       └── bbb
│           └── bbb0.txt
└── c
    └── cc
        └── ccc
            └── ccc0.txt

9 directories, 3 files
root@localhost:/tmp# shopt -s globstar
root@localhost:/tmp# ll ./test/**/*.txt     
-rw-r--r-- 1 root root 0 Jun 18 12:13 ./test/a/aa/aaa/aaa0.txt
-rw-r--r-- 1 root root 0 Jun 18 12:14 ./test/b/bb/bbb/bbb0.txt
-rw-r--r-- 1 root root 0 Jun 18 12:14 ./test/c/cc/ccc/ccc0.txt
root@localhost:/tmp# 

包含所有子(/子子/子子子/...)目录

通配符匹配,随手百度下就有了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进