跳到主要内容
版本:0.15

语法降级和 Polyfill

默认情况下,Farm 将降级到ES5并在生产模式下自动注入polyfills

备注

默认情况下,Farm 不会对 node_modules/ 下的模块进行转换并注入 polyfill,如果您需要为 node_modules/ 降级语法并注入 polyfill,您可以使用 compilation.presetEnv.include

配置 presetEnv

您可以使用compilation.presetEnv来自定义语法降级和 polyfill。 使用 include 添加需要注入 polyfill 的额外模块

farm.config.ts
export default {
compilation: {
presetEnv: {
// include a package under node_modules
include: ['node_modules/package-name'],
options: {
targets: "Chrome >= 48"
}
}
},
};

默认情况下,Farm 会将目标设置为> 0.25%, not dead。 如果你的项目不需要浏览器兼容性,你可以为targets设置一个更宽松的值,那么注入的 polyfills 就会更少,输出的资源大小也会更小。

更多选项,请参阅 compilation.presetEnv

使用 script.target

script.target 也可以在生成代码时控制目标环境。 如果您想将项目降级到ES5,您应该同时设置:

farm.config.ts
export default {
compilation: {
script: {
target: 'ES5'
},
presetEnv: {
// include a package under node_modules
include: ['node_modules/package-name'],
options: {
targets: "> 0.25%, not dead"
}
}
},
};
Extremely Fast Web Build Tool Written in Rust

Copyright © 2024 Farm Community. Built with Docusaurus.