2
"@babel/cli": "^7.2.3",

看起来真的很简单。

https://babeljs.io/docs/en/babel-cli#ignore-files

 babel src --out-dir lib --ignore "src/**/*.spec.js","src/**/*.test.js"

所以我这样设置:

babel src --out-dir cjs --ignore "**/_*" --copy-file --watch

全局参考:https ://github.com/isaacs/node-glob

但我在输出中看到了这一点:

add:cjs/__mocks__/@xyz/common-fn.js
add:cjs/middleware/__mocks__/uuid.js 

好的,我试试这个:

babel src --out-dir cjs --ignore "**/_+","_+" --copy-file --watch

还有这些:

babel src --out-dir cjs --ignore "**/_*/*.*\ --copy-file --watch 
babel src --out-dir cjs --ignore "**/__mocks__/*.*",  --copy-file --watch 
babel src --out-dir cjs --ignore "[src|middleware]/**/__mocks__/*.*" --copy-file --watch"
babel src --out-dir cjs --ignore "**/_+/**/*.*" --copy-file --watch

每次都是一样的结果。看起来最后一个确实应该起作用:忽略任何具有零个或多个目录的路径,然后是名称中至少有一个 _ 的目录,然后是零个或多个目录,然后是匹配任何模式的文件。我读对了吗?

然后我试着非常具体:

babel src --out-dir cjs --ignore "nes/middleware/__mocks__/*.js", --copy-file --watch

我得到:

add:nes/middleware/__mocks__/localize.js

我不知道这是 Babel 中的错误还是我误解了 glob 模式。

4

1 回答 1

4

关于Babel 是否在 CLI 级别完全支持 Glob 模式似乎存在一些争论。

我设法让它与这个忽略模式一起工作:

--ignore "src/**/__mocks__/**/*.js" --ignore "src/**/*.test.js"

这种模式**/__*/**在 Glob 中有效,但在 Babel 中失败。

于 2019-03-14T01:26:58.200 回答