Сборка нативного аддона Node.js требует компиляции C/C++-исходного кода в бинарный файл .node, который Node.js может загрузить во время выполнения. Этот раздел рассматривает доступные вам инструменты сборки и компромиссы между ними.
Есть две широкие стратегии поставки нативного аддона:
Компиляция на машине пользователя — когда пользователь выполняет npm install, инструмент сборки компилирует ваш C/C++-исходник на его системе. Это просто настроить, но требует, чтобы у каждого пользователя был установлен рабочий C/C++-тулчейн.
Распространение готовых бинарников — вы заранее компилируете бинарники для каждой поддерживаемой платформы и архитектуры и загружаете их куда-то, откуда пользователи могут скачать. Пользователи, скачавшие подходящий бинарник, полностью пропускают шаг компиляции; остальные откатываются к локальной компиляции.
- node-gyp — инструмент сборки по умолчанию, поставляемый с npm; использует формат GYP от Google и поддерживается почти повсеместно в экосистеме Node
- CMake.js — альтернатива на основе CMake, хорошо подходящая для проектов, которые уже используют CMake
- node-pre-gyp — слой поверх node-gyp для распространения готовых бинарников через Amazon S3