图片路径没有转化为base64反而呈现[object Module]

首先检查url-loader 小于10kb的图片会转换为base64格式
目标图片为3kb url-loader正常

 {
                test: /\.(?:png|jpe?g|gif|svg|woff|eot|ttf|otf)\??.*$/,
                use: [
                    {
                        loader: 'url-loader',
                        options: {
                            limit: 10000,
                            name: 'img/[name]-[sha512:hash:base64:7].[ext]',
                        }
                    }
                ]
},

可能是因为图片已经被其他的 loader 处理过了,有两个处理 “.jsx” 文件的 loader,它们都使用了 “babel-loader”。Babel 可能会将你的图片导入转换为 ES6 模块。当 “url-loader” 接手处理图片时,它实际上处理的是一个模块对象,而不是图片文件。这就是为什么你的图片 URL 变成了 “[object Module]”。

{
                test: /\.jsx?$/,
                exclude: /node_modules/,
                use: [
                    {
                        loader: 'babel-loader',
                        options: {
                            rootMode: 'upward'
                        }
                    }
                ]
            },

解决这个问题,你可以尝试在 “url-loader” 的 “options” 中添加 “esModule: false”:

{
    test: /\.(?:png|jpe?g|gif|svg|woff|eot|ttf|otf)\??.*$/,
    use: [
        {
            loader: 'url-loader',
            options: {
                limit: 10000,
                name: 'img/[name]-[sha512:hash:base64:7].[ext]',
                esModule: false // 添加这一行
            }
        }
    ]
}

这将告诉 “url-loader” 不要将图片导入转换为 ES6 模块。

如果问题仍然存在,你可能需要检查你的其他配置或你的环境。例如,你可能需要确认你的图片路径是否正确,或者你可能需要确认你的 “node_modules” 是否包含了正确的 loader 版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

临夏_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值