В общем, нативное дополнение может распространяться как любой другой пакет на npm
Однако есть некоторые вещи, о которых следует знать:
*.node
- это общие библиотеки, поэтому они привязаны к определенной c целевой платформе. Ваш файл *.node
подходит только для платформы, для которой вы его создали. Для более широкого использования вам нужно будет создать выделенный файл *.node
для любой платформы, которую вы хотите поддерживать.
Используемые сторонние библиотеки: если ваше собственное дополнение использует Сторонние библиотеки, вы должны убедиться, что эти библиотеки присутствуют в целевой системе и можно найти . Вам нужно будет отправить все необходимые библиотеки (и позаботиться о них во время сборки), если вы хотите убедиться, что они доступны. Альтернативный вариант: жесткие требования для вашего пакета
Собственный тип надстройки: в зависимости от того, как вы создали собственную надстройку (например, NAN или N-API), ваша надстройка может быть подходит для определенных версий узлов.
3.1. N-API: ваш собственный надстройка может использоваться с различными версиями узлов (см. этот обзор )
3.2. NAN: Надстройки NAN созданы для определенных версий ABI узла c, поэтому дополнение, созданное для определенного узла ABI (например, 64), не будет использоваться с другим узлом ABI (например, 56). Вам нужно будет предоставить выделенный *.node
файл для каждого узла ABI, который вы хотите поддерживать
Существует несколько полезных инструментов, помогающих распространять нативные дополнения: Документы N-API
- prebuild и prebuild-install помогут вам распространять ваши собственные дополнения через релизы GitHub
- node-pre-gyp может извлекать надстройки с любого сервера, который вы предоставляете