const {resolve} = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
    entry: './src/index.js',
    output:{
        filename: 'built.js',
        path: resolve(__dirname,'build')
    },
    module:{
        rules:[
            {
                test: /\.less$/,
                use: ['style-loader','css-loader','less-loader']
            },
            {
                //处理图片资源
                test:/\.(jpeg|png|gif|jpg)$/,
                // 需要下载url-loader和file-loader   webpack5已弃用，添加type:'javascript/auto'可解决问题。
                loader: 'url-loader',
                options:{
                    // 图片大小小于8kb 就会被base64处理
                    // 减少请求数量 但图片体积会变大
                    limit: 8 * 1024,
                    esModule: false,   // 解决[object%20Module]问题 原因：url-loader默认使用es6模块化解析，html-loader引入图片commonjs
                    // 取图片的hash前10位 + 扩展名
                    name: '[hash:10].[ext]'
                },
                type: 'javascript/auto'  
            },
            {
                test: /\.html$/,
                loader: 'html-loader'
            }
        ]
    },
    plugins:[
        new HtmlWebpackPlugin({
            template: './src/index.html'
        })
    ],
    mode: 'development'
}