sfbabel
v1.0.2
Published
一个独立的生成babel配置项目,配合npm命令和cli可以本地测试babel编译效果。
Downloads
2
Readme
简介
一个独立的生成babel配置项目,配合npm命令和cli可以本地测试babel编译效果。
灵感
来源于createreactapp中的https://github.com/facebook/create-react-app/tree/next/packages/babel-preset-react-app这个包, 把babel配置单独处理,根据环境变量生成对应配置。
createreactapp的解读
开发环境
cra在开发环境中注入全局polyfill(通过entry配置),然后在preset中设置useBuilt为entry,防止二次引入polyfit, 然后通过设置各个插件或preset中的useBuilt选项,让类似(promise,object.assign)等不被编译,使用原始全局变量, 与之相对的做法就是不引入polyfit,利用trasform-runtime来处理:有三个选项
- helpers:公共的帮助方法(比如校验class的函数)统一替换(这里cra是false,可能为了开发的编译速度,牺牲了空间)。
- pollfit:是否使用模拟的方法(这里cra是false,因为已经引入了)
- generator: 是否提供generator帮助方法(这里必须是true,因为async插件要用) react的例外就是使用了generator。 我还是倾向于用runtime,这样可以减少额外的帮助代码
脚本
npm run dev 测试开发环境打包 npm run product 测试生产环境打包 npm run jest测试单元测试环境打包