【发布时间】:2019-11-11 05:35:08
【问题描述】:
我在项目目录中设置 Firebase 时遇到了一个特定问题。
最初,项目的层次结构可以总结如下:
.
./src
./src/my_code.js
./src/my_code.test.js
./node_modules
./node_modules/...
./package.json
为了运行我的测试,我使用的是 mocha。
在这个网站上,我发现了一个非常有用的 regexp 能够匹配整个项目层次结构中的所有 *.test.js 文件,除了 node_modules “分支” :
./{,!(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
问题在于正则表达式似乎没有排除 ./src/functions/node_modules 文件夹。
我不太愿意扩展这个很酷的正则表达式,不知道是否必须在某处添加** 或!(src/functions/node_modules)。
【问题讨论】:
-
./{,!(node_modules)/**}/*test.js不是正则表达式。看起来像一个球状图案。
标签: javascript regex firebase mocha.js regex-negation