From f25f4ac7f3b72107640da0ed340d4357f12d5d42 Mon Sep 17 00:00:00 2001 From: walterhiggins Date: Sat, 21 Dec 2013 09:09:11 +0000 Subject: [PATCH] Updated doc for require --- src/main/javascript/core/_require.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/main/javascript/core/_require.js b/src/main/javascript/core/_require.js index 11501c0..a96beb8 100644 --- a/src/main/javascript/core/_require.js +++ b/src/main/javascript/core/_require.js @@ -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){ /*