假设我有一组处理CSS的Webpack(v3)加载器,如下所示:
{
test: /\.css$/,
use: [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 0
}
}
]
}
我想要的是一组可以处理CSS,LESS和SASS的加载器,唯一的区别是首先在堆栈中应用哪个加载器,例如:
{
test: /\.(le|sc|c)ss$/,
use: [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1,
}
},
{
// if filename matches /\.less$/, then require.resolve('less-loader'),
// if filename matches /\.scss$/, then require.resolve('sass-loader'),
// else skip this
}
]
}
以便在需要时将文件编译成CSS,然后所有文件都经过相同的步骤。
Webpack是否支持这种条件?这些文档讨论的是嵌套规则,但是我完全迷失了试图准确解析出所需的条件。
不希望对这三个扩展进行三个单独的配置,因为那样的话,它们都将被编译成三个不同的文件/样式标签。