NW.js Application Initializer
Node plugin for creating scaffolding necessary to start a new NW.js application. This creates the project structure need to build Windows and OSX Applications. It also will package your application into a sexy and simple setup installer DMG or EXE. Initialized application automatically include Bootstrap and JQuery.
Installing
Install this node module globally.
npm install -g nw-init
Usage
Give a path to the new project folder. If no path is set, it will install in the current working directory.
nw-init ~/Desktop/MyNewApp
Dependencies
In order to build your new application, there are some external global dependencies that are required.
grunt
Grunt is required to build. See the getting started guide.
npm install -g grunt-cli
makensis
makensis is required to create the Windows setup executable. Can be installed with brew:
brew install makensis
appdmg
node-appdmg is required to create the OS X DMG installer image.
npm install -g appdmg
wine
On OSX if building for Windows, Wine needs to be installed to create the application icon. Can be installed with brew
brew install wine
Building
The Grunt project is an extension of the project-grunt and all those grunt tasks can be used on your app. In addition, there are several Grunt tasks that are specific and useful to building your NW.js application:
Task | Description |
---|---|
app[:(platform)] | Builds a release version of the NW.js app |
app-debug[:(platform)] | Builds a debug version of the NW.js app |
package[:(platform)] | Create the installers |
open:(platform) | Open the application, requires a platform. |
- platform Valid types include
osx32
,osx64
,win32
,win64
Examples
Build the application in debug mode and run for OS X 64-bit:
grunt app-debug:osx64 open:osx64
Build the release application and package to all installers:
grunt app package
Conditional Compiling
In addition to project-grunt
's DEBUG
and RELEASE
condititional constants for JavaScript, applications created with nw-init support APP
and WEB
.
if APP // Only app builds will show this code var fs = ; fs; if WEB // Only default builds, like grunt tasks 'build' and 'build:dev' $;
Examples
License
MIT License