繁体   English   中英

递归排除node_modules

[英]Exclude node_modules recursively

在我的项目目录中设置Firebase时遇到一个特定问题。

最初,项目的层次结构可以归纳为以下内容:

.
./src
./src/my_code.js
./src/my_code.test.js
./node_modules
./node_modules/...
./package.json

为了运行测试,我正在使用摩卡咖啡。

在这个网站上,我发现了一个非常有用的正则表达式,可以匹配整个项目层次结构中的所有* .test.js文件,除了node_modules “ branch”:

./{,!(node_modules)/**}/*test.js

对我而言,下一步是在目录中初始化Firebase Functions&Hosting。

进行了设计选择,以在./src设置functions文件夹。

运行firebase init并回答所有问题后,我的文件夹如下所示:

.
./src
./src/my_code.js
./src/my_code.test.js
// ===== NEW =====
./src/functions
./src/functions/index.js
./src/functions/index.test.js
./src/functions/node_modules
./src/functions/node_modules/...
./src/functions/package.json
// ===============
./node_modules
.node_modules/...
./package.json

问题在于regexp似乎不排除 ./src/functions/node_modules 文件夹

我真的不容易扩展这个很酷的正则表达式,不知道我是否必须在某个地方添加**!(src/functions/node_modules)

我对这个mochajs的问题进行了深入研究。

首先, 正如@Wiktor在我的问题的评论中提到的那样,。/ ./{,!(node_modules)/**}/*test.js ,!( ./{,!(node_modules)/**}/*test.js不是正则表达式,而是一个问题。

我现在没有进一步研究这个概念,因为mochajs现在实现了--exclude标志功能。

我的解决方案如下: mocha \\"./**/*test.js\\" --exclude \\"./**/node_modules/**\\"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM