技术进步非常快。每天,您都会看到新的框架、构建工具和库来加速和改进您的软件应用程序。ESBuideal是不断创新和改进的另一个例子。它是一个开源的下一代JavaScript捆绑器,比业内其他捆绑器非常快速,更高效。它是用 Go 语言编写的,考虑到速度;它由并行解析、打印和源映射生成提供支持。它打包并捆绑JS代码以在Web上分发。它的一些功能包括:
让我们详细介绍一下它的一些功能。
esbuild支持捆绑和代码拆分。捆绑是指要部署单个目标。代码拆分是指您想要拆分为许多目标,例如等。
esbuild使用其称为“加载器”的组件对各种内容类型的内置支持。加载程序告诉 esbuild 如何解析特定的内容类型。默认情况下启用的三个常见加载程序是:app.js
app.js
header.js
sidebar.js
如果我们看一下esbuild支持的内容类型,那么这些内容类型如下:
.js
.cjs
.mjs
.ts
.tsx
mts
.cts
.jsx
.tsx
JSX
.js
.json
.txt
url()
esbuild 有一个强大的 JavaScript build API,通过它可以自定义 esbuild 的行为。它类似于 Webpack 中的文件。
如果您查看下面的代码示例,您可以看到构建函数在子进程中执行 esbuild,并返回一个在构建完成时解析的承诺。
请注意,esbuild 还提供了同步运行的同步构建 API。您将需要使用异步构建 API,因为 esbuild 插件仅与异步 API 兼容。webpack.config.js
buildSync
require('esbuild').build({ entryPoints: ['app.jsx'], bundle: true, outfile: `bundle.js', }).catch(() => process.exit(1))
ESBuidel支持增量编译。如果您一次又一次地从不同的源编译同一个文件,esbuild 将只处理更改的源,而不是每次都从头开始拆分或捆绑代码。
插件 API 是esbuild 的一个非常有用的功能。它允许您在链接文件时对其进行预处理。如果您要将 Sass 转换为 CSS 或将降价转换为 JSX 等,这将非常有益。您仍可以通过插件 API 配置实现详细信息。
服务器模式使您能够将esbuild用作 Web 服务器,并且您可以为传入请求实现自己的服务器处理程序。此功能非常强大,因为您可以使用服务器处理程序对传入的请求执行不同的功能,例如观察事件并记录它们。esbuild利用内存而不是磁盘中的代码拆分目标来提供捆绑的代码,使其成为高性能的 Web 服务器,因为它减少了每个请求所花费的总工作量。
监视模式意味着esbuild可以在源代码发生更改时检测到它们。不用担心文件观察者或使用像 Nodemon、chokidar 等库,你可以把这个责任转移到 esbuild。实际上,您还可以实现自己的监视处理程序,以便记录事件,观察事件并推送服务器发送的事件。
如果您查看以下不同捆绑器之间的比较,您会发现esbuild与其竞争对手相比具有显着的性能优势。想象一个拥有许多项目和依赖项的大型团队,其中减少构建时间对于产品开发至关重要。神奇之处在于 esbuild 能够并行打印、解析和源映射生成。
了解基于 React 的无头解决方案,以构建时尚的CRUD应用程序。通过优化,您可以确信您的代码库将始终保持干净且无样板。