Updated doc for require

This commit is contained in:
walterhiggins 2013-12-21 09:09:11 +00:00
parent f35a729ceb
commit f25f4ac7f3

View file

@ -1,33 +1,35 @@
/*************************************************************************
# Require - Node.js-style module loading in ScriptCraft
## Require - Node.js-style module loading in ScriptCraft
### (Experimental as of 2013-12-21)
#### (Experimental as of 2013-12-21)
Node.js is a server-side javascript environment with an excellent
module loading system based on CommonJS. Modules in Node.js are really
simple. Each module is in its own javascript file and all variables
and functions within the file are private to that file/module only. There is a very concise explanation of CommonJS modules at
http://wiki.commonjs.org/wiki/Modules/1.1.1.
and functions within the file are private to that file/module only.
There is a very concise explanation of CommonJS modules at...
[http://wiki.commonjs.org/wiki/Modules/1.1.1.][cjsmodules]
If you want to export a variable or function you use the module.export
property.
For example imagine you have 3 files program.js, inc.js and math.js ...
## math.js
### math.js
exports.add = function(a,b){
return a + b;
}
## inc.js
### inc.js
var math = require('./math');
exports.increment = function(n){
return math.add(n, 1);
}
## program.js
### program.js
var inc = require('./inc').increment;
var a = 7;
@ -46,6 +48,12 @@ support node modules. Node.js and Rhino are two very different
Javascript environments. ScriptCraft uses Rhino Javascript, not
Node.js.
Right now, the base directory is for relative modules is 'js-plugins'.
Modules can be loaded using relative or absolute paths. Per the CommonJS
module specification, the '.js' suffix is optional.
[cjsmodules]: http://wiki.commonjs.org/wiki/Modules/1.1.1.
***/
(function(__plugin, __engine, verbose){
/*