目标环境与兼容性:该选项用于配置 Rspack 输出产物的目标环境和 Rspack runtime 代码的 ECMAScript 版本。
string | string[]现在支持的字符串格式有:
| 选项 | 描述 | 
|---|---|
'node[[X].Y]' | 
编译为 Node.js 环境可用 | 
'async-node[[X].Y]' | 
编译为类 Node.js 环境可用(使用 fs 和 vm 异步加载分块) | 
'web' | 
编译为浏览器环境可用(默认值) | 
'es[X]' | 
编译 Rspack runtime 为对应的 ECMAScript 版本,当前支持 es3、es5、es2015、es2016、es2017、es2018、es2019、es2020、es2021、es2022(默认使用 es5 ) | 
'browserslist' | 
根据配置的 browserslist 完成 ECMAScript 版本的推断 | 
'electron[[X].Y]-main' | 
编译 Electron 的主进程 | 
'electron[[X].Y]-renderer' | 
编译 Electron 的渲染器进程,该 target 下会使用 array-push 作为 chunkFormat,jsonp 作为 chunkLoading,为 CommonJS 和 Electron 内置模块提供 NodeTargetPlugin 和 ExternalsPlugin | 
'electron[[X].Y]-preload' | 
编译 Electron 的预加载脚本 | 
target 配置中的 esX 只能指定 Rspack runtime 中的代码使用 ECMAScript 版本的语法,如果要指定用户代码的 ECMAScript 版本请使用 builtin:swc-loader 或 babel-loader 或 swc-loader 进行代码降级。
指定 Compiler 需要编译为 Node.js 环境下的代码:
当指定 Compiler 需要编译为多个平台时,则会报错: