Another brown bag on AMD concepts and RequireJS
RequireJSAsynchronous Module Defini2on
View Slide
THE PROBLEMDependency InjectionBundles get LargeScript Tag Ordering
THE SOLUTIONAsynchronous LoadingDependency Chain Constructionimport / using / require
AMDCommonJSRequireJS
define("person", [], func2on () { return { firstName: "", lastName: "" }; }) define("employee", ["person"], func2on (p) { return { base: p, id: "123" }; });
// person.js define([], func2on () { return { firstName: "", lastName: "" }; }) // employee.js define(["person"], func2on (p) { return { base: p, id: "123" }; });
// synchronous loading...var employee = require("employee");// asynchronous loading...require(["employee"], function (employee) {});
DEMOSetup & Consump2on r.js & Building / Minifica2on Typescript AMD PaQerns Control’s conversion to AMD
@OSBORNMgithub | twiQer | .com