Существует ли замена ffi-napi для NodeJS ver.20?

На самом деле, начиная с версии Node.js 12, ffi-napi была объявлена устаревшей и рекомендуется использовать другую библиотеку под названием node-ffi. Это нативное расширение для Node.js, предоставляющее доступ к функциям и переменным, определенным внутри динамических библиотек на вашей операционной системе.

Официальная библиотека ffi-napi больше не поддерживается разработчиками и не рекомендуется для использования в новых проектах. Она была объединена с node-ffi в новую версию именуемую @ffi-napi/ffi, которая была выпущена вместе с Node.js 12.

node-ffi предоставляет простой способ вызвать функцию из динамической библиотеки, предоставляет возможность определить прототипы функций и связывать их с JavaScript кодом. Она совместима с операционными системами Windows, macOS и Linux.

Чтобы установить node-ffi, вы можете использовать пакетный менеджер npm или yarn:

npm install ffi

или

yarn add ffi

После успешной установки, вам следует импортировать библиотеку в ваш код:

const ffi = require('ffi');

Затем, вы можете определить прототип функции, связанной с библиотекой, и вызвать ее:

const libc = ffi.Library('libc', {
  'strlen': ['size_t', ['string']]
});

const str = 'Hello, World!';
const length = libc.strlen(str);
console.log(length); // выведет длину строки

Таким образом, если вам нужно взаимодействовать с динамическими библиотеками на Node.js версии 12 и выше, рекомендуется использовать библиотеку node-ffi. Она обладает широкими возможностями и прост в использовании.