从 Webpack 的 require.context 中排除文件

2024-01-05

我正在尝试加入require.contextWebpack 的所有文件应该由我的伊斯坦布尔记者报道。

我想包含/需要以下所有文件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 file.

我究竟做错了什么?


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

然后你想拒绝.*test在斜线之后,而不是仅仅test就在它的后面。

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

或者更具体地不允许internals在路径名中。
也不以test.js:

^(?!.*(?:internals|test.js$)).*\.js$
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Webpack 的 require.context 中排除文件 的相关文章

随机推荐