我正在尝试将babel-loader
应用于特定的模块模式,比如 foo。* ,除了我的应用之外,还可以在 node_modules 下。
node_modules 下的其他模块应该像往常一样跳过。首先,我尝试使用否定前瞻没有工作:
{
test: /\.js$/,
exclude: [
/node_modules\/(?!foo).*/
],
loader: 'babel-loader',
query: {
...
}
},
然后我分成两个装载机而且也没有工作:
{
test: /\.js$/,
exclude: [
path.resolve(_path, "node_modules")
],
loader: 'babel-loader',
query: {
...
}
},
{
test: /\.js$/,
include: [
/node_modules\/foo.*/
],
loader: 'babel-loader',
query: {
...
}
}
但是,如果我使用字符串而不是RegEx,它适用于一个文件夹:
include: [
path.resolve(_path, "node_modules/foo")
],
这表明正则表达式未按预期工作。
是否有人在Include/Exclude
字段中工作 RegEx ?
答案 0 :(得分:11)
事实证明,这是Windows中的路径分隔符,我正在使用它。以下否定前瞻语法有效且与操作系统无关:
new RegExp('node_modules\\'+path.sep+'(?!foo).*')