All Projects → fcanas → Node Native Boilerplate

fcanas / Node Native Boilerplate

Licence: mit
A very small, understandable node native extension with approachable project structure

Node Native Extension Boilerplate

Build Status

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:

$ npm test

or to run test continuously

$ npm test -- watch

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].