问题描述
我有兴趣为 nodeJS 制作我的第一个原生 C/C++ 插件。
从概念上讲,它是一种作用于路径或文件描述符的文件系统方法,与 fs.stat()
和朋友密切相关。
通过阅读文档和查看 N-API 示例,我无法确定是否可以或绝对不可能创建新方法。
有人知道这是否可以完成,或者我是否必须使其独立?
解决方法
我认为唯一的方法是“包装”你想要扩展的对象。
基本上创建一个新模块“fs2”,它通过所有对“fs”的标准调用,该调用由您的新模块require
d,但也添加您的新调用,或替换您希望增加的调用,使用您的 N-API 调用。
使用你的模块的代码只需要使用
let fs = require("fs2");
代替
let fs = require("fs");
我不确定是否有多种方法可以包装 nodeJS 模块来实现这一点,或者是否有一种明显的最佳方法。我敢肯定还有其他 SO 问题涵盖了所有这些。