Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Changes related to node
NOTE: some content in this wiki applies only to 0.12 and earlier versions. For official documentation on 0.13 and later, see http://docs.nwjs.io
This document is still under construction
Since node-webkit supports GUI applications instead of console applications, the output of
console.log() (and other similar methods such as
console.error()) is redirected to WebKit's console. You may see it in your “Developer Tools” window (on its “Console” tab).
A couple of new fields is added to the global
process.versions['node-webkit']is set with node-webkit's version.
process.versions['chromium']is set with the chromium version which node-webkit is based on. (since v0.7.3)
process.mainModuleis set for the start page (such as
index.html) as specified in the manifest's
mainfield. However, when the
node-mainfield is also specified in the manifest,
process.mainModulepoints to the file specified in the
The following names are inserted to the global object in Node's context:
require- this is the
require()function within the main module.
Behaviour of relative paths in Node's
require() method depends on how the parent file is used in the application (where “the parent file” is the file in which the
require() method is called):
- If the parent file was also required by Node (using
require()), then the child's relative path is treated as relative to its parent.
- If the parent file is included by WebKit (using any web technology: classic DOM
Window.open(), classic DOM
<script src="...">element, etc.), then the child's relative path is treated as relative to the application's root directory.
WebKit (Chrome) has its own DOM
crypto object. When you
require() the Node API module of the same name (see http://nodejs.org/docs/latest/api/crypto.html for details), you have to use some other name (see issue 540 for example).
Only Node modules (called by
require() method) can use the
__dirname global to read the path to their file's directory.
This global is not available in WebKit's context (including the “Developer Tools” window).
exports.dirname = __dirname; in a
util.js file and require it in your main JS file:
var dirname = require('./util').dirname; console.log(dirname); //=> /Users/johndoe/dev/project/
is broken in node-webkit
works fine after 0.10.3 on Linux and 0.10.4 on Windows.