esbuild中的Binary Loader:处理二进制文件

news/2024/9/24 6:31:07/

前端或Node.js项目中,有时需要处理二进制文件,如图片、音频、视频或其他非文本资源。esbuild提供了一款名为Binary Loader的插件,它能够在构建时将二进制文件加载为二进制缓冲区,并使用Base64编码将其嵌入到打包文件中。在运行时,原始字节会从Base64解码,并作为Uint8Array导出。

Binary Loader的使用

要使用Binary Loader,你需要在esbuild的配置中显式地为其指定文件扩展名。以下是一个配置示例,它指定了.data扩展名的文件应使用Binary Loader处理:

javascript">require('esbuild').buildSync({entryPoints: ['app.js'],bundle: true,loader: { '.data': 'binary' },outfile: 'out.js',
})

在上述配置中,所有.data扩展名的文件都将被Binary Loader处理。你可以在代码中像这样导入处理后的二进制文件:

javascript">import uint8array from './example.data'
console.log(uint8array)

导入的uint8array是一个Uint8Array实例,它包含了原始二进制文件的内容。如果你需要ArrayBuffer而不是Uint8Array,你可以通过访问uint8array.buffer来获取。

Binary Loader的优势

使用Binary Loader处理二进制文件有以下几个优势:

  1. 简化构建配置:尽管你需要为二进制文件指定Loader,但一旦配置完成,esbuild会自动处理这些文件,无需额外的构建步骤。
  2. 提高性能:由于二进制文件在构建时被嵌入到打包文件中,因此在运行时无需额外的HTTP请求来加载这些资源,这可以提高应用的性能。
  3. 支持模块化:你可以像导入其他模块一样导入二进制文件,这使得你可以更灵活地组织和管理你的项目资源。

结论

esbuild的Binary Loader为处理二进制文件提供了便利。通过配置Binary Loader,你可以轻松地将二进制文件嵌入到打包文件中,并在运行时作为Uint8ArrayArrayBuffer访问它们。这一特性简化了构建配置,提高了应用性能,并支持了模块化开发。如果你需要在你的项目中使用二进制文件,那么Binary Loader可能是一个不错的选择。


http://www.ppmy.cn/news/1512609.html

相关文章

【面试宝典】redis常见面试题总结(上)

一、为什么使用 redis? 使用缓存的目的就是提升读写性能。为了提高读写性能,带来更高的并发量。减少对 MySQL 的请求量。 二、redis 有哪些好处? 读写速度快,因为数据存储在内存中,所以数据获取快。支持多种数据结构…

90. UE5 RPG 实现技能的装配

在上一篇里,我们实现了在技能面板,点击技能能够显示出技能的相关描述以及下一级的技能的对应描述。 在这一篇里,我们实现一下技能的装配。 在之前,我们实现了点击按钮时,在技能面板控制器里存储了当前选中的技能的相关…

安科瑞ASCP210-40D 灭弧式短路保护器 防止电线失火的保护装置

电气防火限流式保护器可有效克服传统断路器、空气开关和监控设备存在的短路电流大、切断短路电流时间长、短路时产生的电弧火花大,以及使用寿命短等弊端,发生短路故障时,能以微秒级速度快速限制短路电流以实现灭弧保护,从而能显著…

linux被植入木马排查思路

linux被植入木马排查思路 一、是否侵入检查 1)检查系统登录日志 last命令 2)检查系统用户 1、检查是否有异常用户 cat /etc/passwd 2、查看是否产生了新用户、uid和gid为0的用户 grep "0" /etc/passwd 3、查看passwd的修改时间&#xf…

CRYPTO 2020

分类文章编号安全模型1-6公钥加密,功能加密,见证加密7-12后量子密码13-20密码分析21-31最佳论文32-34多方安全计算35-49真实应用50-55零知识证明56-62格和相关难题63-68泄露和外包加密69-74非交互式零知识证明,共识和延迟函数75-79构建80-85Security Models 1. Handling Ad…

C++学习笔记----3、设计专业的C++程序(四)---- 重用既有代码(重用代码类型)

在分析重用代码的优劣之前,把可重用代码进行分类,并且起个名字是非常有帮助的,工欲成其事,必先利其器,而这个器叫什么名字我们都还没有确定,恐怕很难继续进行下去吧。有dgtk3sk重用的代码: 过去…

技术速递|将 .NET Aspire 添加到您现有的 .NET 应用程序中

作者:Jon Galloway 排版:Alan Wang .NET Aspire 是一个针对 .NET 的新型云就绪堆栈,可帮助开发人员快速轻松地开发分布式应用程序。您可能已经看过一些演示,展示了大型 .NET 解决方案,其中充满了复杂的云依赖项&#x…

SAP Parallel Accounting(平行分类账业务)配置及操作手册【适用于多国家会计准则】

1. 配置准备 1.1 理解平行账概念 平行账,也称为多分类账,是SAP系统中的一项功能,它允许企业按照不同的会计准则来维护各自的财务数据。这种设置特别适用于那些需要符合多种会计准则的跨国公司。通过平行账,企业可以在不同的分类…