gpt4 book ai didi

webpack - 如何使用 Webpack 的 `raw-loader` 加载二进制文件?

转载 作者:行者123 更新时间:2023-12-04 12:38:21 46 4
gpt4 key购买 nike

Webpack 的加载器通常加载文本文件,因此在大多数情况下,使用某些文本编码(通常是 UTF-8)转换加载文件的内容会更方便。另一方面,二进制文件不应该被转换,所以有一个 raw property对于加载器,它控制(每个加载器)是否应该应用 UTF-8 转换。
raw-loader应该将原始数据从文件加载到字符串而不进行任何转换,因此应该导出 raw 似乎合乎逻辑。属性为 true .然而,它没有,还有一个 unit test这应该确保 raw不导出。它似乎旨在仅用于基于文本的格式。

有没有办法解决?将二进制文件加载到字符串的替代方法是什么?

最佳答案

raw-loader包似乎只能正确加载仅由 7 位字符代码 0-127 组成的文本文件,而它不能正确处理字节值 >=128。
作为解决方案,请改用 binary-loader可以将完整的 8 位字节值加载为 javascript 字符串格式的包。如有必要,您可以将字符串转换为 Uint8Array。
例子:

// load contents of local file "test.bin" into a js string:
import binAsString from "!!binary-loader!./test.bin";

// if necessary, convert the imported string to Uint8Array:
let array = new Uint8Array(binAsString.length);
for (let i = 0; i < binAsString.length; i++) {
array[i] = binAsString.charCodeAt(i);
}

关于webpack - 如何使用 Webpack 的 `raw-loader` 加载二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61964120/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com