首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >babel vs babel-core vs babel-runtime

babel vs babel-core vs babel-runtime
EN

Stack Overflow用户
提问于 2015-09-13 07:10:48
回答 3查看 20.2K关注 0票数 64

我的节点webpack项目使用了三个babel库。它们之间的区别是什么?它们是如何被使用的?

代码语言:javascript
复制
"dependencies": {
  "babel-runtime": "^5.8.24"
}

"dev-dependencies": {
  "babel": "^5.8.23",
  "babel-core": "^5.8.23"
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-13 10:18:28

接口为babel-core。对于v5,babel包就是命令行界面,它依赖于babel-core。对于v6,babel-cli包就是CLI (尽管CLI命令仍然是babel ),而babel包什么也不做。我猜babel-runtime只是一个运行时(polyfill和helpers)来支持已经被转换的代码。

票数 46
EN

Stack Overflow用户

发布于 2016-05-09 04:04:39

TL;DR这里要比较的东西有:

插件核心(用于5.x.x) vs babel-cli+babel-

  1. (选择一个用于6.x.x)
  2. babel-polyfill (用于非库) vs babel-
  3. +babel-
  4. -non(用于库)

来自https://babeljs.io/blog/2015/10/31/setting-up-babel-6

巴别包已不复存在。以前,它是整个编译器和所有的转换加上一堆CLI工具,但这会导致不必要的大量下载,并且有点令人困惑。现在我们把它分成两个独立的包: babel-cli和babel-core。

npm install --global babel-cli

npm install --save-dev babel-core

如果你想从CLI使用Babel,你可以安装babel-cli,或者如果你想使用Node API,你可以安装babel-core。

babel-runtime只允许不污染全局空间的polyfill,而不像babel-polyfill会污染全局空间。来自http://babeljs.io/docs/plugins/transform-runtime/

babel-运行时自动填充您的代码,而不会污染全局变量。(建议在库/工具中使用此插件)

如果你使用babel- you,你还应该

npm install --save-dev babel-plugin-transform-runtime

在大多数情况下,您应该将babel-plugin--dev安装为开发依赖项(使用--save-dev),将babel-dev安装为生产依赖项(使用--save)。

转换插件通常只在开发中使用,但运行时本身将依赖于您部署/发布的代码。

另外,babel- use +babel-plugin-transform-use和babel-polyfill通常是互斥的--这意味着您应该只使用其中之一。来自此处的评论http://jamesknelson.com/the-six-things-you-need-to-know-about-babel-6/

您应该使用babel-

或babel-。它们是相互排斥的--当然,除非你知道自己在做什么。但它们本质上是一回事。这些只是帮助者。babel-polyfill通过改变全局变量实现了同样的目标,而babel-runtime通过模块化的方式做到了这一点。除非您正在开发库,否则我建议您使用polyfill。

票数 21
EN

Stack Overflow用户

发布于 2018-08-02 22:25:42

The Six Things You Need To Know About Babel 6很好地解释了这一点,引用

babel npm包已不复存在。相反,Babel被分成了多个包:

babel-cli,它包含babel命令行界面babel-core,它包含Node API并需要钩子babel-polyfill,当需要时,它会为你设置一个完整的ES2015-ish环境以避免意外冲突,确保从你的package.json中删除任何以前的Babel包,比如babel,babel-core,等等,然后npm卸载它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32544685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档