nw
An npm installer for NW.js.Install
Latest version globally
npm install -g nw
You might run into issues installing globally. Learn how to fix this
Latest version of normal build flavor:
npm install --save-dev nw
Specific version with changes to installer:
npm install --save-dev nw@0.85.0-1
You may use npm view nw versions
to view the list of available versions.
Specify build flavor:
npm install --save-dev nw@sdk
Optionally setnwjs_build_type=sdk
in.npmrc
orNWJS_BUILD_TYPE=sdk
environment variable.
Specify platform:
Setnwjs_platform
in .npmrc
or NWJS_PLATFORM
environment variable. Defaults to process.platform
.Specify architecture:
Setnwjs_arch
in .npmrc
or NWJS_ARCH
environment variable. Defaults to process.arch
.Specify cache directory:
Setnwjs_cache_dir
in .npmrc
or NWJS_ARCH
environment variable. Defaults to ./node_modules/nw
.Specify cache flag:
Setnwjs_cache
in .npmrc
or NWJS_ARCH
environment variable to keep or delete cached binaries. Defaults to true
.Specify ffmpeg flag:
Setnwjs_ffmpeg
in .npmrc
or NWJS_ARCH
environment variable to toggle downloading community FFmpeg binaries. Defaults to false
.Specify Native Addon flag:
Setnwjs_native_addon
in .npmrc
or NWJS_NATIVE_ADDON
environment variable to toggle downloading NW.js Node headers. Defaults to false
.Specify download URL:
Setnwjs_urlbase
in .npmrc
or NWJS_URLBASE
environment variable. Defaults to https://dl.nwjs.io
. The file system (file://
) is also supported (for example, file:///home/localghost/local_mirror
).Usage
Add a script in yourpackage.json
:{
"scripts": {
"start": "nw /path/to/app"
}
}
Executing
npm start
runs the NW.js app. Omitting the file path makes NW.js check for valid project in current working directory. You can also call nw
directly from node_modules/.bin/nw
.APIs
Find path to the NW.js binary:
import { findpath } from 'nw';
var path = findpath();
Find the path to the chromedriver binary
import { findpath } from 'nw';
var path = findpath('chromedriver');
Download specific versions independant of installer version
import { get } from 'nw';
await get({
// options
});
Options:
| Name | Type | Default | Description | | ---- | ------- | --------- | ----------- | | version |
string \| "latest" \| "stable"
| "latest"
| Runtime version |
| flavor | "normal" \| "sdk"
| "normal"
| Runtime flavor |
| platform | "linux" \| "osx" \| "win"
| | Host platform |
| arch | "ia32" \| "x64" \| "arm64"
| | Host architecture |
| downloadUrl | "https://dl.nwjs.io" \| "https://npm.taobao.org/mirrors/nwjs" \| https://npmmirror.com/mirrors/nwjs \| "https://github.com/corwin-of-amber/nw.js/releases/"
| "https://dl.nwjs.io"
| Download server |
| cacheDir | string
| "./cache"
| Directory to cache NW binaries |
| cache | boolean
| true
| If true the existing cache is used. Otherwise it removes and redownloads it. |
| ffmpeg | boolean
| false
| If true the chromium ffmpeg is replaced by community version with proprietary codecs. |
| nodeAddon | false \| "gyp"
| false
| Download Node headers |