我正在尝试使用这样的URL-LOADER插入JPG:
let image1 = require("url?limit=100000000!./samples/sample.jpg");
跑步后我得到:
"data:image/jpeg;base64,bW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyArICIuL3d3d3cvaW1nL3NhbXBsZS5qcGciOw=="
基本64字符串解码为:
module.exports = __webpack_public_path__ + "./wwww/img/sample.jpg";
我期待二进制文件的base64字符串。
这是预期的行为吗?我如何实际实现二进制文件的base64字符串?
如果我试图在线说一个html文件,它可以按预期工作。
该特定文件的文件大小为417 kb,但限制参数比那大。
我没有尝试过,但是类似的事情应该起作用:
让image1 = require(" !! url?limit = 100000000!./samples/sample.jpg");
问题是加载程序订单。如果您检查了webpack.config
文件,则在某个地方有file-loader
用于jpg
文件。我知道,因为我知道file-loader
会输出以下:
module.exports = __webpack_public_path__ + "./wwww/img/sample.jpg";
...被管道输送到url-loader
。这就是为什么您要获得上面的base64版本的原因。因为file-loader
将其返回到url-loader
。
请参阅"加载程序订单"文档,以了解如何覆盖它。我认为放!以前可以解决您的问题。