Fez*_*sta 9 javascript regex webpack
我正在尝试将require.context
我的伊斯坦布尔记者应该涵盖的所有文件包含在Webpack中.
我想包含/要求下面app
没有.test.js
扩展名的所有文件.
// internals/testing/test-bundler.js
const context = require.context('../../app', true, /^.*(?!(\.test|internals.*))\.js$/);
context.keys().forEach(context);
Run Code Online (Sandbox Code Playgroud)
我的文件结构是:
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
Run Code Online (Sandbox Code Playgroud)
显然我的正则表达式不起作用,因为在覆盖率报告中我看到所有.test.js
文件甚至internals/testing/test-bundler.js
文件.
我究竟做错了什么?
Luk*_*rms 15
你需要注意负面前瞻部分采用哪种方式拒绝它.如果你在第一个正斜杠后立即执行它可以正常工作.
有了这个,你想.*test
在斜线后拒绝,而不是test
直接在它后面.
/^(?!internals).*\/(?!.*test).*\.js$/
Run Code Online (Sandbox Code Playgroud)
或者更具体的是不允许internals
在路径名中.
也不以test.js
:
^(?!.*(?:internals|test.js$)).*\.js$
Run Code Online (Sandbox Code Playgroud)