gpt4 book ai didi

node.js - 向后兼容 es6 Node 库开发的最佳实践

转载 作者:搜寻专家 更新时间:2023-11-01 00:39:32 24 4
gpt4 key购买 nike

在开发用于 node 的 JS 库时,编写一个利用 es6 功能但仍适用于不支持 es6 的 node 版本的库的最佳实践是什么?

例如,我有一个几年前用 es5 编写的开源库,但我想升级它以使用 es6。我是否必须对我的用户说,如果您想继续使用我的库,您的 Node 版本也必须升级吗?处理此问题的社区首选做法是什么?

最佳答案

For instance, I have an open source library that I wrote a couple years ago in es5 but I want to upgrade it to use es6.

首先,您必须决定是否要继续支持您的库的 ES5 版本。如果是,那么您最终可能会得到库的两个分支,一个使用 ES5,另一个需要 ES6 并利用 ES6 中的功能。您必须决定在 ES5 版本中投入了多少精力以及投入了多长时间。据推测,您至少会在一段时间内修复该版本中发现的重大错误,最终您会因为没有新的更改/修复而停用该版本。

如果这个库被指定为 node.js 作为目标环境,那么你可以让你的 ES6 库立即测试以查看在启动时是否有合适的环境可用,如果没有,则登录到控制台并抛出一个带有有意义消息的异常作为错误通知开发人员,如果他们有这个库的错误环境。

如果您不打算继续通过附加功能或修复来支持 ES5 版本的库,那么您可能会在适用于 ES5 的最后一个版本上分支您的存储库,以便开源社区可以继续支持/如果他们愿意,可以单独加强它。

Do I have to say to my users that if you want to use my library going forward you're version of node has to be upgraded as well?

您无需执行任何操作。您可以根据自己的图书馆和情况做您认为合适的事情。由于它是开源的,您可能还需要考虑您的开源贡献者想要做什么。

What is the community preferred practice for dealing with this?

没有特定的社区偏好同样适用于所有图书馆或情况。 node.js 支持的一个起点是查看 node.js 对其自己的版本做了什么,并查看它为旧版本提供持续支持的时间。你不必那么慷慨(这取决于你的情况),但你可能不需要比 node.js 本身更慷慨地支持旧版本,因为那时开发人员会运行旧版本不再支持自身的 node.js。这是查看 node.js 版本支持:https://github.com/nodejs/LTS .

您会注意到该图表在 2016 年 12 月 v4 结束之前支持所有内容。并且 v4 中有重要的 ES6 功能(虽然不是全部),因此如果您可以在 v4 中构建 ES6 功能,那么它会很快就需要 node.js v4 可能是合理的。如果您希望使用仅在 node.js v6 中的 ES6 功能,那么您真的必须轮询您的用户群,以了解如果您的新功能开发分支需要 node.js 会有多困难。 js v6. node.js v6 现在刚刚进入 LTS(长期支持),所以它现在真的处于更长支持周期的开始。

关于node.js - 向后兼容 es6 Node 库开发的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39737038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com