天天看点

要不要太c++,node-gyp

【我还是认为,这么底层的东西,臣妾办不到。。。让我去用c写一些node的扩展模块,我岂不是要挂。。。】

就是因为node.js太高层,底层c++实现,所以一旦你某个项目出错,而且还必须得通过c++来提高他的性能的时候,你就会知道用c++编写一个模块有多么重要了

https://blog.csdn.net/github_36487770/article/details/81052936

最近在弄的一个视频拼接的npm包,就有C++扩展,npm install 的时候屡屡不成功,后来总算成功了。实际引入的时候又找不到入口。排查了一下就是里面用到了C++扩展,需要重新编译。后来全局装了node-gyp对着报错把包一个个编译了一遍,终于成功了。

【学会了node-gyp,等于你掌握了用c++编写node包的能力,其实gyp就只是一个工具,这个命令就是帮助我们快速的编译c++至.node,然后好导出给js,他会给不同平台编译不同的.node】

node的核心模块os/fs都是通过c/c++编写的。。。。

由c++编写的核心模块的优势在于:性能优于js

因此,你知道吧,高级一些的开发就是你自己去根据自己的项目去添加想要的c++扩展模块

怎么去编写内建模块呢?编写头文件和c++文件,即.h和.cc文件,编译之后生成不跨平台的.node(so/dll)文件,最终导出给js

要不要太c++,node-gyp