11.oneOf

564 阅读1分钟

1.oneOf:

1.oneOf:

 1.只能匹配一个文件
 2.不能两个配置处理同一文件

2.作用:

    相当与break语句,oneof里面的loader一旦匹配成功就会跳出匹配,
  (webpack原本的loader是将每个文件都过一遍,比如有一个js文件 
  rules中有11个loader,第一个是处  理js文件的loader,当第一个 
  loader处理完成后webpack不会自动跳出,而是会继续拿着这个js文件去
  尝试匹配剩下的10个loader,相当于没有break。 )

2.用法:

  module: {
    rules: [
    //当有两个配置处理同一文件,就提到oneOf外面来
        {
            test: /\.js$/,
            exclude: /node_modules/,
            enforce: 'pre',//优先处理
            loader: 'eslint-loader',
        },
        {
            // 以下loader只能匹配一个文件
            // 注意:不能有两个配置处理同一个文件
            oneOf: [
                {
                    test: /\.css$/,
                    use: [
                      "style-loader",
                      "css-loader"
                    ]
                },
                {
                    test: /\.js$/,
                    exclude: /node_modules/,
                    loader: 'babel-loader',
                },
            ]
        },
    ]
},