# JavaScript
# Babel
我们为Babel使用了合理的默认预设,如下:
- 使用
babel-preset-env。 - 通过
babel-preset-typescript编译 TypeScript。 - 编译
object-rest-spread为Object.assign。 - 使用babel-plugin-transform-async-to-promises编译
async/await - 编译 JSX
可以在项目中添加.babelrc文件以使用自定义配置。如果在项目中禁用.babelrc,请通过--no-babelrc标志。
还可以在Babel配置文件中使用我们的默认预设:
// pansy.config.js
module.exports = {
presets: ['pansy/babel'],
plugins: [
// Add your babel plugins...
]
};
# Browserslist
默认情况下,Babel 将代码转换为 ES5,但是您可以使用Browserslist 来指定目标环境,例如,如果您只想支持Node.js 10,可以在package.json中添加以下配置:
{
"browserslist": ["node 10"]
}
# 最小模式
babel-preset-env如果以 ES5 为目标,则会生成很多代码,因此我们提供了一个选项babel.minimal,用Buble代替此预设。也可以使用 CLI 标志--minimal。
注意:
Buble不严格遵循规范,请谨慎使用Browserslist将不再起作用,因为它是babel-preset-env中的功能。但是您可以使用buble中的target进行配置。
# TypeScript
当入口文件以.ts扩展名结尾时,我们会自动使用rollup-plugin-typescript2进行编译。
# 将 Babel 与 TypeScript 一起使用
默认情况下,Babel 也用于.ts文件,它将在 TypeScript 之后处理文件。建议将tsconfig.json设置compilerOptions.target为es2017或更高,然后让Babel将代码转换为ES5。如果要禁用 Babel,请在Pansy配置文件中设置plugins: { babel: false }。