babel-plugin-transform-runtime 和 babel-runtime 的区别?

babel-runtime 作用了解,但官方文档中特意提醒生产与开发依赖的不同,github 发现 babel-runtime 对 babel-plugin-transform-runtime 有开发依赖,想问这两个插件有什么关系:

clipboard.png

阅读 7.6k
2 个回答

这个只针对Node.js的项目使用babel来编译的情况,如果是写前端项目(用webpack打包)的话,就可以无视这个问题了。

因为babel编译es6到es5的过程中,babel-plugin-transform-runtime这个插件会自动polyfill es5不支持的特性,这些polyfill包就是在babel-runtime这个包里,所以babel-runtime需要安装在dependency而不是devDependency。

dependency和devDependency应该能明白吧。假如一个用户npm install 了你发布在npm上的一个包,他只会安装这个包的dependency依赖,devDependency是不会安装的,那么此时假如babel-runtime是安装在devDependency的话,有些polyfill就会找不到了。

至于这两个包有什么区别,字面意思就能看出来,一个是转化的包(插件),一个是充满polyfill的包。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题
宣传栏