首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >`@babel/runtime`‘和`@babel/runtime`’版本

`@babel/runtime`‘和`@babel/runtime`’版本
EN

Stack Overflow用户
提问于 2019-01-05 16:12:03
回答 1查看 785关注 0票数 2

@babel/runtime@babel/plugin-transform-runtime是否应该使用相同的版本(例如,两者都是7.2.0 )?或者我(作为库作者)可以将@babel/runtime依赖项指定为^7.0.0,同时使用最新的@babel/plugin-transform-runtime

我知道在Babel 7的beta版本中,beta.56 (参见https://stackoverflow.com/a/51686837/2148762)发生了重大变化,但我猜想现在的稳定版本不应该是这样的?

我问这个问题的原因是,理想情况下,我希望在不同的包之间共享来自@babel/runtime的助手,对我来说,开放版本范围似乎是个好主意。但同时,我不确定我应该走多低(^7.0.0还是^7.2.0),以及@babel/runtime@babel/plugin-transform-runtime之间是否存在关于版本号的隐含契约。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-06 23:26:52

默认情况下,@babel/plugin-transform-runtime只允许输出对在^7.0.0上工作的@babel/runtime的引用,因为它不知道您想要使用哪个版本,而且任何其他操作都会给用户带来很多问题。这意味着你想做的事是安全的。这样做的缺点是,如果我们继续添加新的帮助程序,您的代码将无法利用它们的@babel/runtime版本(因为您可能仍然在使用没有它们的@babel/runtime版本。

用户可以在转换的参数中指定version,如果您希望特别使用自7.0.0以来可能已经添加到Babel中的帮助程序,例如,

代码语言:javascript
复制
{
  "plugins": [
    ["@babel/plugin-transform-runtime", { version: "^7.2.0" }],
  ]
}

然后,需要在您的"@babel/runtime": "^7.2.0"中包含package.json

例如,由于对较新的装饰师提案的支持直到Babel 7.1.5才开始,如果您使用transform-runtime和非legacy装饰器,那么装饰器助手仍然会插入到使用装饰器的每个文件中,而不是从@babel/runtime导入它。要获得共享助手,需要在version: "^7.1.5"选项中指定transform-runtime

我(作为一个库作者)可以将@babel/运行时依赖指定为^7.0.0,同时拥有最新的@babel/运行时吗?

是的,这是安全的。

我猜现在的稳定版本应该不再是这种情况了?

没错,这个问题是因为人们没有考虑到beta版本。

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

https://stackoverflow.com/questions/54053777

复制
相关文章

相似问题

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