gpt4 book ai didi

javascript - 从 Webpack 的 require.context 中排除文件

转载 作者:数据小太阳 更新时间:2023-10-29 04:03:30 25 4
gpt4 key购买 nike

我试图在 Webpack 的 require.context 中包含我的 Istanbul 尔记者应该涵盖的所有文件。

我想包含/要求 app 下没有 .test.js 扩展名的所有文件。

// internals/testing/test-bundler.js
const context = require.context('../../app', true, /^.*(?!(\.test|internals.*))\.js$/);
context.keys().forEach(context);

我的文件结构是:

app/components/
app/containers/
app/decorators/
app/orm/
app/pages/
app/store/
app/tests/
app/utils/
app/app.js
app/reducers.js
app/routes.js
internals/testing/test-bundler.js

显然我的正则表达式不起作用,因为在覆盖率报告中我看到了所有 .test.js 文件甚至 internals/testing/test-bundler.js文件。

我做错了什么?

最佳答案

您需要了解否定前瞻使用拒绝的部分。如果您在第一个正斜杠之后立即执行此操作,则效果很好。

并且您想要在斜线后拒绝 .*test,而不是直接在它后面的 test

/^(?!internals).*\/(?!.*test).*\.js$/

或者更具体地说,不允许在路径名中使用 internals
也不以 test.js 结尾:

^(?!.*(?:internals|test.js$)).*\.js$

关于javascript - 从 Webpack 的 require.context 中排除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38075646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com