const path = require('path')

module.exports = {
    resolve: {
        extensions: ['.js', '.vue', '.json'],
        alias: {
            '@': path.join(__dirname, '../'),
            'element-ui': path.join(__dirname, '../')
        },
        modules: ['node_modules']
    },
    module: {
        rules: [
            // babel-loader 解析js
            {
                test: /\.(js|jsx)$/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['@babel/preset-env', '@vue/babel-preset-jsx']
                    }
                }
            },
            // vue-loader 解析 .vue 文件
            {
                test: /.vue$/,
                use: ['vue-loader']
            },
            //
            {
                test: /.(sa|sc|c)ss$/,
                use: ['style-loader', 'css-loader', 'postcss-loader', 'sass-loader']
            },
            /**
             * file-loader 解析 js引入图片、字体
             *      import logo from './images/logo.png'
             */
            {
                test: /.(png|jpg|jpeg|gif|webp|PNG)$/,
                loader: 'url-loader',
                // type: 'asset',
                // parser: {
                //     dataUrlCondition: {
                //         maxSize: 60 * 1024
                //     }
                // },
                // generator: {
                //     filename: 'img/[name][ext]'
                // }
            },
            {
                test: /.(eot|woff|ttf|svg)$/,
                loader: 'file-loader',
                // options: {
                //     outputPath: 'fonts/',
                //     esModule: false
                // }
                // type: 'asset',
                // parser: {
                //     dataUrlCondition: {
                //         maxSize: 1 * 1024
                //     }
                // },
                // generator: {
                //     filename: 'fonts/[name][ext]'
                // }
                // use: [
                //     {
                //         loader: "file-loader",
                //         options: {
                //             outputPath: 'fonts',
                //             esModule: false
                //         }
                //     }
                // ]
            }

        ],

    }
}
