'web'
>= 1.0.0
用于设置 Rsbuild 的构建产物类型。
Rsbuild 支持多种构建产物类型,分别适用于不同的目标运行环境。在设置产物类型后,Rsbuild 的默认配置会有所变化。
默认情况下,target
会被设置为 'web'
,并构建出运行在浏览器里的产物。
Rsbuild 会读取项目中的 Browserslist 配置,以确定需要兼容的浏览器范围。
除了 'web'
外,target
还可以设置为以下值:
'node'
:构建出运行在 Node.js 环境的产物,通常用于 SSR 等场景。'web-worker'
:构建出运行在 web worker 里的产物。比如构建出适用于 Node.js 环境的产物:
你可以使用 environments 来并行构建多种 targets。
比如同时构建 web
产物和 node
产物:
指运行在 Node.js 环境的产物,通常用于 SSR 等场景。
当 target
设置为 'node'
时,Rsbuild 会进行以下处理:
'node'
。['node >= 16']
。指运行在 Web Worker 环境的产物。
Web Worker 是一种 JavaScript API,它允许网页在后台线程中执行脚本,与主线程(网页)分离。这意味着,您可以使用 Web Worker 来执行计算密集型或长时间运行的任务,而无需阻塞主线程,进而影响网页的性能。
当 target
设置为 'web-worker'
时,Rsbuild 会进行以下处理:
'webworker'
。Rspack 支持的 target 类型更为丰富,比如 electron-main
和 electron-renderer
等。
目前 Rsbuild 暂未支持这些 target,你可以通过 tools.rspack 来配置这些 target。
例如设置 target
为 'electron-main'
,这会覆盖 Rsbuild 默认设置的 'web'
。