This repository tries to cover organizing, building and packaging nw.js desktop apps, not restricted to Angular JS
Target development machine
Ubuntu 16.04 x64 or Similar
node (see package.json for version)
npm
nw.js (global)
gulp-cli (global)
# Clone this repo
git clone https://github.com/ankurk91/node-webkit-angular-starter-kit.git
cd node-webkit-angular-starter-kit
# Install nw.js global package if not yet
npm install -g nw@0.14.6
# Install node packages
npm install
# Start the app from source
nw app
Folder / File Path
Description
app/
Contains js, css, html for your app, this is where your write your angular code
app/node_modules/
Stores node packages to be packed with app, should not contain any devDependency
app/package.json
JSON file required to run nw.js apps , defines dependencies only , no devDependencies should be defined here
cache/
Used by nw-builder for caching nw sdk for different platforms, ignored by git
dist/
Stores minified version of js,css,html. Ready to pack, to be used by nw-builder , created by gulp task , ignored by git
node_modules/
Stores node package for development (devDependencies) only
release/
Stores installer for different platforms , can be pushed to git
resources/
Stores installer related files to be used by nw-builder
tasks/
Gulp tasks breakdown
tmp/
Used by nw-builder during packaging, ignored by git
package.json
Defined devDependencies only, application version , npm scripts etc.
Property
Description
productName
Used by gulp task, this can have spaces, capital letters, separate from name
property
optionalDependencies
We kept appdmg
here , because it runs only on Mac OS , so npm will not produce error installing it
version
We use this version number in gulp tasks, should be same as in app/package.json
./app/package.json changes
Property
Description
version
Should be same as in ./package.json
platformOverrides
Used by nw-builder to override any ./package.json
property while building
packages
Used by node-webkit-updater to check for updates
manifestUrl
Used by node-webkit-updater, URL to your application's package.json
file, it should be public
chromium-args
Chromium command line parameters you want to pass to nw.js
Node Webkit related links
Read more about packaging nw.js app
MIT License