document require.cache
[platform/upstream/nodejs.git] / doc / api / globals.markdown
1 ## Global Objects
2
3 These object are available in all modules. Some of these objects aren't
4 actually in the global scope but in the module scope - this will be noted.
5
6 ### global
7
8 The global namespace object.
9
10 In browsers, the top-level scope is the global scope. That means that in
11 browsers if you're in the global scope `var something` will define a global
12 variable. In Node this is different. The top-level scope is not the global
13 scope; `var something` inside a Node module will be local to that module.
14
15 ### process
16
17 The process object. See the [process object](process.html#process) section.
18
19 ### console
20
21 Used to print to stdout and stderr. See the [stdio](stdio.html) section.
22
23
24 ### require()
25
26 To require modules. See the [Modules](modules.html#modules) section.
27 `require` isn't actually a global but rather local to each module.
28
29
30 ### require.resolve()
31
32 Use the internal `require()` machinery to look up the location of a module,
33 but rather than loading the module, just return the resolved filename.
34
35 ### require.cache
36
37 Modules are cached in this object when they are required. By deleting a key
38 value from this object, the next `require` will reload the module.
39
40
41 ### require.paths
42
43 An array of search paths for `require()`.  This array can be modified to add
44 custom paths.
45
46 Example: add a new path to the beginning of the search list
47
48     require.paths.unshift('/usr/local/node');
49
50
51 ### __filename
52
53 The filename of the script being executed.  This is the absolute path, and not necessarily
54 the same filename passed in as a command line argument.
55
56 Example: running `node example.js` from `/Users/mjr`
57
58     console.log(__filename);
59     // /Users/mjr/example.js
60
61 `__filename` isn't actually a global but rather local to each module.
62
63 ### __dirname
64
65 The dirname of the script being executed.
66
67 Example: running `node example.js` from `/Users/mjr`
68
69     console.log(__dirname);
70     // /Users/mjr
71
72 `__dirname` isn't actually a global but rather local to each module.
73
74
75 ### module
76
77 A reference to the current module. In particular
78 `module.exports` is the same as the `exports` object. See `src/node.js`
79 for more information.
80 `module` isn't actually a global but rather local to each module.
81
82 ### setTimeout(cb, ms)
83 ### clearTimeout(t)
84 ### setInterval(cb, ms)
85 ### clearInterval(t)
86
87 The timer functions are global variables. See the [timers](timers.html) section.