How Modules Work
var Modules = (function Manager() { var modules = {}; function define(name, deps, impl) { for (var i=0; i<deps.length; i++) { deps[i] = modules[deps[i]]; } modules[name] = impl.apply(impl, deps); } function get(name) { return modules[name]; } return { define: define, get: get } })(); / * User module */ Modules.define("User", [], function() { function getName(name) { return "My name is " + name; } return { getName: getName } }); / * Group module */ Modules.define("Group", ['User'], function(User, group) { function getUserGroup() { return "My name is " + User.getName() + ", Group:"; } return { getUserGroup: getUserGroup } }); console.log(Modules.get('User')); console.log(Modules.get('Group')); var User = Modules.get("User"); var Group = Modules.get("Group");
page revision: 1, last edited: 15 Jan 2018 10:47