Можно ли создать новый метод для стандартного объекта nodeJS, такого как «fs», с использованием C++/napi и т. Д.?

Я заинтересован в создании моего первого нативного аддона C / C++ для nodeJS.

Концептуально это метод файловой системы, который действует на путь или дескриптор файла и тесно связан с fs.stat() и друзья.

Прочитав документацию и изучив примеры N-API, я не могу понять, возможно или определенно невозможно создать новый метод.

Кто-нибудь знает, можно ли это сделать или мне нужно просто сделать это автономным?

1 ответ

Я думаю, что единственный способ сделать это - «обернуть» объект, который вы хотите расширить.

По сути, создайте новый модуль «fs2», который передает все стандартные вызовы «fs», то есть d вашим новым модулем, но также добавьте свои новые вызовы или замените вызовы, которые вы хотите дополнить, вашими вызовами N-API.

Код, использующий ваш модуль, тогда должен будет использовать только

      let fs = require("fs2");

вместо

      let fs = require("fs");

Я не уверен, есть ли несколько способов обернуть модуль nodeJS для этого или есть один явно лучший способ. Я уверен, что есть и другие ТАК вопросы, касающиеся всего этого.

Другие вопросы по тегам