build.target
在 Vite 中,
build.target
配置项用于指定构建的目标环境。它决定了 Vite 在构建过程中使用哪些 JavaScript 和 CSS 特性,并帮助 Vite 优化生成的代码以支持特定的浏览器或 JavaScript 环境。
- 类型:
string | string[]
- 默认:
'modules'
- 相关内容: 浏览器兼容性
可以将其设置为以下几种值:
-
'esnext'
:- 默认值,表示构建最新的 JavaScript 语法,支持最新的语言特性。
- 适用于最新版本的浏览器和 Node.js 版本。
-
'es2020'
,'es2019'
, ...,'es5'
:- 这些值允许你指定目标 JavaScript 版本。例如,
'es2015'
表示生成的代码将使用 ES2015 标准的语法,兼容支持 ES2015 的浏览器。 - 如果你设置为
'es5'
,则 Vite 会回退到最旧的语法来确保兼容最广泛的浏览器(比如 IE11)。
- 这些值允许你指定目标 JavaScript 版本。例如,
-
'chrome80'
,'firefox80'
,'safari13'
,'edge80'
等:- 你可以为
build.target
设置特定的浏览器版本,例如'chrome80'
表示构建代码时会考虑支持 Chrome 80 版本及更高版本的特性。 - 这种方式更具体,可以确保支持某些浏览器版本。
- 你可以为
-
'browserslist'
:- 你也可以根据 Browserslist 配置来指定构建目标。这个配置方式允许你使用类似
"last 2 versions"
、"> 0.5%"
这样的规则来指定支持的浏览器。 - Vite 会根据
browserslist
配置来自动选择合适的 JavaScript 特性和 polyfill。
- 你也可以根据 Browserslist 配置来指定构建目标。这个配置方式允许你使用类似
build.outDir
- 类型:
string
- 默认:
dist
指定输出路径(相对于 项目根目录).
build.assetsDir
- 类型:
string
- 默认:
assets
指定生成静态资源的存放路径(相对于 build.outDir
)。在 库模式 下不能使用。
build.assetsInlineLimit
- 类型:
number
|((filePath: string, content: Buffer) => boolean | undefined)
- 默认:
4096
(4 KiB)
小于此阈值的导入或引用资源将内联为 base64 编码,以避免额外的 http 请求。设置为 0
可以完全禁用此项。
如果传入了一个回调函数,可以通过返回一个布尔值来选择是否加入。如果没有返回任何内容,那么就会应用默认的逻辑。
Git LFS 占位符会自动排除在内联之外,因为它们不包含其所表示的文件的内容。