首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编写一个io.js兼容的npm模块

编写一个io.js兼容的npm模块
EN

Stack Overflow用户
提问于 2015-02-10 08:50:06
回答 2查看 305关注 0票数 7

我应该在我的io.js中引用package.json吗?如果我想编写一个兼容( Node和io.js )的模块,还需要做什么不同的事情吗?

EN

回答 2

Stack Overflow用户

发布于 2015-02-10 09:31:30

Heroku文档说,您可以在package.json的"engines“部分中添加"iojs”条目。

票数 2
EN

Stack Overflow用户

发布于 2015-02-10 12:16:47

首先,您应该参考io.js变更量g,它描述了自1.0.0版以来对io.js所做的更改,正如他们所说的,该版本引入了对API的主要更改(与Node.js 0.11.14相比,后者是叉子发布时的开发版本)。

由于下面的semver意味着主要版本bump引入了向后不兼容的更改,这意味着您必须在应用程序中处理这些差异,并根据平台使用正确的API调用。

快速阅读变更日志似乎表明,现有API之间的差异并不大,但有些地方您必须格外小心。io.js中有相当多的新API是在Node.js上本机不可用的,因此您可能无法使用它们(或者提供一些兼容性层,如果可能的话,可以将它们添加到Node.js中)。

此外,由于ECMAScript 6特性是在Node.js 0.10、0.12和io.js之间不同级别实现的,因此必须选择可以使用哪些特性才能保持兼容,这取决于需要/选择支持的平台和版本。

警告-个人意见如下

这个问题就是为什么我不赞成io.js背后的团队进行分叉和引入向后不兼容的更改,并且仍然使用Node.js包管理器npm来处理新平台的依赖关系。您要么只为其中一个编写包,要么使用一些疯狂的决策逻辑来选择如何调用函数,因为该函数的签名在两者之间有所不同。

最后,开发人员感到沮丧,选择另一种项目/语言,社区和模块可用性变得支离破碎,没有人获胜。

我真诚地希望,无论这两个平台(Node.js还是io.js)中的哪个平台,社区都会选择一个平台,另一个平台就会消亡,而不是分裂。或者,这些项目在某一时刻会聚在一起,将两者的优点集成到一个平台中。

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

https://stackoverflow.com/questions/28427408

复制
相关文章

相似问题

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