nw-dev
A drop-in library for nw.js development
-
Live-reloads upon save
-
Reloads when you press F5
-
Opens the devtools when you press F12 (
nw@>=0.13.0
does this for you) -
Opens the devtools upon error
-
Sets
window.CRASHED
upon error, so you can stop an animation loop for example (and not flood the console with errors) -
Clears the require cache, so reloading works with modules
-
When you change
package.json
, it closes and reopens the window with the new values, so you don't even have to restart to change things likewindow.frame
(not working in latest nw.js) -
When loaded in a browser (non-nw.js), it only tries to do error handling
install
npm i nw-dev --save-dev
Put this script before any other scripts (that you're developing, at least):
exclude some files from being watched
By default node_modules
, npm-debug.log
, .git
, .hg
, and .svn
are ignored.
You can ignore additional paths by adding a data-ignore
attribute to the script:
The ignore pattern will be passed to chokidar and interpreted by micromatch.
don't annoyingly assert window focus when reloading
(This can be especially annoying if your editor autosaves!)
You may have your app set up to show itself once it finishes loading.
That's a good thing, but if you're calling win.show()
,
it can inadvertently focus the window.
Do this (with JavaScript):
if!winshown win; winshown = true;
Or this (with CoffeeScript):
winshow unless winshownwin.shown = yes
(Now autosaving can once again be beneficial!)
develop nw-dev
-
npm i
-
npm link
, andnpm link nw-dev
from an nw.js project -
npm run prepublish
to recompile