对一个单独的 module 对象定义了 rules 属性,里面包含两个必须属性:testuse。这告诉 webpack 编译器(compiler) 如下信息:
    重要的是要记住,在 webpack 配置中定义 rules 时,要定义在 module.rules 而不是 rules 中。为了使你便于理解,如果没有按照正确方式去做,webpack 会给出警告。

    请记住,使用正则表达式匹配文件时,你不要为它添加引号。也就是说,/\.txt$/'/\.txt$/'"/\.txt$/" 不一样。前者指示 webpack 匹配任何以 .txt 结尾的文件,后者指示 webpack 匹配具有绝对路径 ‘.txt’ 的单个文件; 这可能不符合你的意图

    {//scss
    test: /.(s[ac]ss|css)$/i,
    use: [
    // 将 JS 字符串生成为 style 节点
    MiniCssExtractPlugin.loader,// “style-loader” //没抽离css文件夹前是style
    // 将 CSS 转化成 CommonJS 模块
    “css-loader”,
    // 将 Sass 编译成 CSS
    “sass-loader”,
    ],
    },
    {//解析js
    test: /.m?js$/,
    use: {
    loader: ‘babel-loader’,
    options: {
    presets: [‘@babel/preset-env’]
    }
    }
    },
    {//vue
    test: /.vue$/,
    use: {
    loader: ‘vue-loader’,
    }
    },
    {//img
    test: /.(png|jpg|gif)$/i,
    use: [
    {//处理图片格式
    loader: ‘url-loader’,
    options: {
    limit: 8192,//超过规定的大小自动到file解析
    fallback: ‘file-loader’,
    },
    },
    ],
    },
    {//icon
    test: /.(svg|weff|weff2)$/i,
    use: [
    {//处理图片格式
    loader: ‘url-loader’,
    },
    ],
    },
    {//html
    test: /.html$/i,
    use: [
    {
    loader: ‘html-loader’,
    },
    ],
    },
    基础配置如需以上配置更深层次的查看loader