如何在node.js依赖关系树中查找本机模块?

obe*_*lix 6 module native node.js node-gyp

我有一个node.js应用程序,有大约10个直接依赖项,总共有50个依赖项.

我现在想知道这些依赖项是否使用本机代码(当然除了node.js平台本身之外),例如外部系统库(我见过其他项目中使用的libxml),自己的C/C++库,node-gyp构建脚本需要安装编译器等.

对于这种情况,是否有一种简单/快速的方法来检查给定模块的整个依赖关系树?

msc*_*dex 10

您可以简单地搜索*.node文件,这是编译插件使用的扩展名:find node_modules -type f -name "*.node" 2>/dev/null | grep -v "obj\.target".

如果要检查每个插件使用的共享库,可以使用以下内容: find node_modules -type f -name "*.node" 2>/dev/null | grep -v "obj\.target" | xargs ldd


Tam*_*lyn 8

有一个用于此目的的本机模块CLI 包。

$ npx native-modules
Run Code Online (Sandbox Code Playgroud)

截屏