This is the Node.js wrapper for the C++ librealsense2
for Intel® RealSense™ depth cameras (D400 series and the SR300).
To librealsense contributors: this document is for developers who want to fork librealsense and make changes to source code. (pull requests are welcome)
To Node.js users: if you're using Node.js and want to use Node.js librealsense API, please use the following command to install it directly:
npm install --save node-librealsense
If it fails to install, please refer to install prerequisites. Usage examples can be found in node_modules/node-librealsense/examples
dir.
In Ubuntu16.04, the default apt-get installed version is lower than v6.x. The following command could install the latest v6.x release:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Please download the latest .msi from here and install it.
Note: OSX support for the full range of functionality offered by the SDK is not yet complete.
Install the Homebrew package manager via terminal if not installed, then run the following command to install node:
brew install node
The version can be checked through this command:
node -v
After Node.js is installed, run the following command to install required modules.
npm install -g jsdoc # Required for document generation
npm install -g node-gyp # This is optional
You will probably need to setup proxy of npm or https proxy of npm, if you don't have direct internet connection.
Environment is ready if you're using Ubuntu 16.04.
If you're using Windows 10, please do the following steps:
-
Install Python 2.7.xx, make sure "
Add python.exe to Path
" is checked during the installation. -
Install Visual Studio 2015 or 2017. The
Community
version also works. -
Install CMake, make sure
CMake
is in system PATH (Choose "Add CMake to the system PATH for all users
" or "Add CMake to the system PATH for the current user
" during the installation). This step is fornpm install
of Node.js GLFW module that is used inwrappers/nodejs/examples
.
Note#1: The npm module windows-build-tools
also works for npm install
Node.js bindings, but it's not suffcient to build the native C++ librealsense2.
Note#2: for Node.js GLFW module, add msbuild
to system PATH, e.g "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin
"
Note#3: When running Node.js
6.x, you might need to upgrade npm-bundled node-gyp
to support Visual Studio 2017 (if you're using it)
Please refer to Linux installation doc or Windows installation doc or Mac OS installation doc to build native C++ librealsense2.
There are two options to do it: "manually bulid" or "build with CMake".
The former one is for Node.js
language binding developers who frequently change module/addon source code; the latter one is for all-in-one build scenarios.
After C++ librealsense
library is Built, run the following commands:
cd wrappers/nodejs
npm install
Note: on Windows only, the default libraries are taken from the librealsense Debug build output. You can specify from which build configuration to obtain the sources by installing with the vs_configuration flag. e.g: npm install --vs_configuration=Release
or alternatively npm install --vs_configuration=Debug # this is the default for windows
Before building C++ librealsense
library, enable the following option when calling cmake
.
cmake -DBUILD_NODEJS_BINDINGS=1 <other options...>
make # Will build both C++ library & Node.js binding.
Note: when doing "Build with CMake" on Windows, node-gyp
module of 'npm install' command requires one or many of the following Visual Studio 2017 components (if you're using it):
.NET Framework 4.7 development tools
.NET Framework 4.6.2 development tools
.NET Framework 4-4.6 development tools
If it still doens't work, try pass an environment variable to node-gyp
: set GYP_MSVS_VERSION=2015
When Node.js wrapper is built, you can run examples to see if it works. Plug in your Intel® RealSense™ camera and run the following commands
cd wrappers/nodejs/examples
npm install
node nodejs-capture.js
Open wrappers/nodejs/doc/index.html
for full reference document. If it isn't there, run the following commands to generate it:
cd wrappers/nodejs
node scripts/generate-doc.js
We're following Chromium coding style for different languages: C++, Python and JavaScript.
- Install depot_tools and added to
PATH
env. - Install Required npm modules,
cd src/tools && npm install
. - Run
./tools/linter.js
before submitting your code.
We use same Chromium commit log guideline and Github closing isses via commit messages. Use the following form:
Summary of change.
Longer description of change addressing as appropriate: why the change is made,
context if it is part of many changes, description of previous behavior and
newly introduced differences, etc.
Long lines should be wrapped to 80 columns for easier log message viewing in
terminals.
Fixes #123456