我正在尝试创建用于图像处理的webpack加载程序。它应该非常明星:使用/.png$/扩展名找到所需的模块,将其写入我的测试文件。根据loader API,我接收模块的内容作为加载器函数的第一个参数。但我不太明白我收到的编码方式。据我所知,PNG文件是二进制文件,但javascript字符串按规格UTF16编码。
我写了一些代码:
webpack.config.js
{{1}}
loader.js
{{1}}
就我而言,我最初的想法是我可以做一些像读取缓冲区的源并将其编码设置为UTF-16,然后将此缓冲区写入文件,但这不起作用。
问题是我应该如何使用source将其写入文件并从源代码创建有效的png。因为现在我得到的是一堆错误,比如"无法打开文件..."。
答案 0 :(得分:0)
我偶然发现了答案,只是写作
module.exports.raw = true;
在我的装载机内。这种方式加载器将真正获得原始缓冲区。否则,我会将缓冲区识别为UTF-8编码。很奇怪,考虑到javascript字符串是由规范的UTF-16