electron程序,node-abi查询NODE_MODULE_VERSION
发布于 作者:苏南大叔 来源:程序如此灵动~苏南大叔在上一篇文章中介绍了对NODE_MODULE_VERSION
的一些理解,然后给出了两个苏南大叔精心总结的对应关系表。那么,在本文中,苏南大叔介绍一个第三方库,可以通过node-abi
来查询下述对应关系。分别是:
NODE_MODULE_VERSION
和node
的对应关系NODE_MODULE_VERSION
和electron
的对应关系
本文测试环境:mac
、node@10.11.0
。据苏南大叔观察,NODE_MODULE_VERSION
的另外一个名字就是abi
。所以,在node
和electron
的世界里面,大家应该意识到:NODE_MODULE_VERSION
和abi
很可能是同一个事物。
基本描述
node-abi
的主页面地址如下:
使用方式上,需要先npm i
。
npm install node-abi
然后在代码里面,引用即可。
const nodeAbi = require('node-abi')
代码使用
求abi
值
nodeAbi.getAbi('7.2.0', 'node')
nodeAbi.getAbi('1.4.10', 'electron')
求node
版本号
nodeAbi.getTarget('51', 'node')
求electron
版本号
nodeAbi.getTarget('50', 'electron')
更多可用函数
在官方git
说明里面,还可以看到其它的相关函数。but,苏南大叔认为可能也用不到。所以,大家可以自行去查看。
nodeAbi.allTargets
nodeAbi.deprecatedTargets
nodeAbi.supportedTargets
nodeAbi.additionalTargets
nodeAbi.futureTargets
组合查询源码
本文的代码,在纯正的node
环境里面,也是可以运行的。当然,在electron
的主进程和渲染进程里面,也都是可以使用的。本文,苏南大叔就以最基础的node
环境来做演示。
可能在日常的应用中,更有可能出现的使用情况就是,已知abi
的值,求合适的node
或者electron
。苏南大叔编写的一个可直接执行的代码如下:
abi.js
:
使用方式是:
node abi <abi>
运行结果如图所示:
一个结论
另外,根据查询结果以及苏南大叔的推算,对于addon
编译来说,截至到发稿,最佳的组合可能是:node@10.16.2
+electron@4.0.3
+abi@64
。
这个结论,是苏南大叔自行猜测的,目前没有任何的理论依据。大家可以自行体会。估计上述结论是谬误的可能性也蛮大的。如果您有好的结论,欢迎给苏南大叔留言。
相关链接
结束语
在本文中,大家可以通过node-abi
的源码可以发现,相关结果就是写死在代码里面的,所以,这个库如果没有人维护的话,也失去了存在意义了。更多electron
相关经验文字,请点击:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
看一下代码
2
看图说话
学习
1