是否有一种方法可以为Webpack定义“后备”规则,以便如果.module.rules
中没有其他匹配项,那么将应用此规则?
我曾尝试在最后位置指定一个规则,并使用非常宽松的test:
,但是无论其位置如何,它似乎都具有优先权(首先,最后一个也在oneOf
内尝试)。 >
示例:
module: {
rules: [
{
oneOf: [
{ test: /\.ts$/i, loader: "ts-loader" },
{ test: /\.ttf$/i, loader: "url-loader" },
{ test: /.+/, loader: "file-loader" }
]
}
]
}
我本来希望通过.ts
加载的不是.ttf
或file-loader
的所有内容,但实际上,似乎它甚至适用于.ts
文件
答案 0 :(得分:-1)
之所以会这样,是因为上一个测试中的正则表达式匹配所有文件扩展名,包括您希望忽略的文件扩展名。
为避免这种情况,您需要从全面测试中过滤掉已知/预期的扩展名。
例如:
module: {
rules: [
{ test: /\.ts$/i, loader: "ts-loader" },
{ test: /\.ttf$/i, loader: "url-loader" },
{ test: /\.(?!ts|ttf)([\w]+)/i, loader: "file-loader" }
]
}