blob: 09bf0b37c37955fe2d7fe4abd851c60797a8c9c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
node-api-headers provides CMake targets:
find_package(unofficial-node-api-headers CONFIG REQUIRED)
target_link_libraries(main PRIVATE unofficial::node-api-headers::node-api-headers)
Add this to your CMakeLists.txt to build a Node.js addon:
add_library(addon SHARED main.cpp ...)
set_target_properties(addon PROPERTIES OUTPUT_NAME "my-addon" PREFIX "" SUFFIX ".node")
find_package(unofficial-node-api-headers CONFIG REQUIRED)
target_link_libraries(addon PRIVATE unofficial::node-api-headers::node-api-headers)
You will be able to load your addon in JavaScript code:
const addon = require("/path/to/addon/my-addon.node");
Make sure that your Node.js OS/architecture matches vcpkg triplet you use.
Also, make sure to register a module in your C/C++ code like official example does:
https://github.com/nodejs/node-addon-examples/blob/main/1_hello_world/napi/hello.c
This port doesn't have specific functionality for publishing npm packages.
See https://nodejs.org/api/n-api.html
|