在我的项目目录中设置Firebase时,我遇到了一个特定的问题。
最初,项目的层次结构可以概括如下:
.
./src
./src/my_code.js
./src/my_code.test.js
./node_modules
./node_modules/...
./package.json为了做测试,我用摩卡。
在这个网站上,我发现一个非常有用的regexp能够匹配整个项目层次结构中的所有*.test.js文件,但node_modules“分支”除外:
./{,!(node_modules)/**}/*test.js
下一步是初始化Firebase函数&托管在目录中。
对在functions中设置./src文件夹进行了设计选择。
在运行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 文件夹。
我不太容易扩展这个很酷的regexp,不知道我是否需要在某个地方添加**或!(src/functions/node_modules)。
发布于 2019-06-30 08:21:10
我深入研究了这个莫查伊的问题。
首先,as @Wiktor在我的问题评论中提到了,./{,!(node_modules)/**}/*test.js不是一个正则表达式,而是一个整体。
我现在没有进一步研究这个概念,因为mochajs现在实现了一个--exclude标志特性。
我的解决方案如下:mocha \"./**/*test.js\" --exclude \"./**/node_modules/**\"。
https://stackoverflow.com/questions/56820804
复制相似问题