Rsbuild 支持多种构建产物类型,分别适用于不同的目标运行环境。在设置正确的产物类型后,Rsbuild 会针对该环境优化打包结果,在构建过程中启用一些对应的插件或者配置。
你可以通过 createRsbuild 方法的 target
参数来设置产物类型。
默认情况下,target
会被设置为 'web'
,并构建出运行在浏览器环境里的产物。
同时,Rsbuild 会读取项目中的 Browserslist 配置,以确定需要兼容的浏览器范围。
除了 'web'
外,你还可以将 target
设置为以下值:
'node'
: 构建出运行在 Node.js 环境的产物,通常用于 SSR 等场景。'web-worker'
:构建出运行在 Web Worker 里的产物。比如构建出适用于 Node.js 环境的产物:
当 target 为包含多个值的数组时,Rsbuild 会并行构建,并生成多份不同的产物。
比如同时构建浏览器产物和 SSR 产物:
指运行在 Node.js 环境的产物,通常用于 SSR 等场景。
当 target
设置为 'node'
时,Rsbuild 会进行以下处理:
['node >= 14']
。如果触发了并行构建,比如同时构建 web 产物和 node 产物,那么上述处理不会影响 web 产物,web 产物所需的 HTML、CSS 等文件依然会正确生成。
指运行在 Web Worker 环境的产物。
Web Workers 是一种 JavaScript API,它允许网页在后台线程中执行脚本,与主线程(网页)分离。这意味着,您可以使用 Web Workers 来执行计算密集型或长时间运行的任务,而无需阻塞主线程,进而影响网页的性能。
当 target
设置为 'web-worker'
时,Rsbuild 会进行以下处理: