На этой странице

Сборка нативного аддона 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