Basic build ----------- Default desktop electron app build (modifying the electron dist in-place): make Build desktop electron app with full repack: (export BUILD_MODE=repack && make) Build package files for web: make web Sharp and other native modules for nw/electron ---------------------------------------------- To build sharp for a specific version of node and nwjs: cd ./node_modules/sharp/ nw-gyp rebuild --target=0.17.4 --arch=x64 And for electron (done by make): electron-rebuild Chromium flicker issue (nw) --------------------------- The UI sometimes flickers -- at first blanks out to black then re-draws, this is most noticeable on white or gray backgrounds. This appears to be GPU related. package.json: "chromium-args": "--disable-gpu-compositing", This will fix the issue temporarily, but we still need a better solution. Remote debugging via DevTools (nw) ---------------------------------- Set this in package.json: "chromium-args": "--remote-debugging-port=9222", Then open http://localhost:9222 in chrome. Speedup loading of app (nw) --------------------------- One of the ways to speed up the load times when packed is to store Node's modules ./node_modules in a separate location, outside of the app.zip or package.nw To enable require(..) to find them: - > npm install --save app-module-path - when building the zip move all the modules out to a new location *except* app-module-path - add this line to all root js modules *before* any other require(..) is called: if(process.__nwjs){ var path = require('path') require('app-module-path') .addPath(path.dirname(process.execPath) + '/node_modules/') }