Node Native Extension Boilerplate
A very approachable node native extension.
This repository serves as a nearly minimal native extension built on Nan with enough tooling to also make it a great starting point for more complex projects.
Building
To compile the extension for the first time, run
$ npm i
$ npm run configure
$ npm run build
All subsequent builds only need npm run build
You can confirm everything built correctly by running the test suite.
Working With the Extension Locally
After building:
$ node > var NativeExtension = require('./') undefined > NativeExtension.aString() 'This is a thing.' > NativeExtension.aBoolean() false > NativeExtension.nothing() undefined >
To run tests:
or to run test continuously
The Parts
| File | Contents |
|---|---|
NativeExtension.cc |
Represents the top level of the module. C++ constructs that are exposed to javascript are exported here |
functions.cc |
Example top-level functions. These functions demonstrate how to build and return various js types. |
index.js |
The main entry point for the node dependency |
binding.gyp |
Describes your node native extention to the build system (node-gyp). As you add source files to the project, you should also add them to the binding file. |