Slide 1

Slide 1 text

RequireJS Asynchronous  Module  Defini2on    

Slide 2

Slide 2 text

THE PROBLEM Dependency Injection Bundles get Large Script Tag Ordering

Slide 3

Slide 3 text

THE SOLUTION Asynchronous Loading Dependency Chain Construction import / using / require

Slide 4

Slide 4 text

AMD CommonJS RequireJS

Slide 5

Slide 5 text

define("person",  [],  func2on  ()  {          return  {  firstName:  "",  lastName:  ""  };   })     define("employee",  ["person"],  func2on  (p)  {          return  {  base:  p,  id:  "123"  };   });  

Slide 6

Slide 6 text

// person.js   define([],  func2on  ()  {          return  {  firstName:  "",  lastName:  ""  };   })   // employee.js   define(["person"],  func2on  (p)  {          return  {  base:  p,  id:  "123"  };   });  

Slide 7

Slide 7 text

// synchronous loading... var employee = require("employee"); // asynchronous loading... require(["employee"], function (employee) { });

Slide 8

Slide 8 text

DEMO Setup  &  Consump2on   r.js  &  Building  /  Minifica2on   Typescript  AMD  PaQerns   Control’s  conversion  to   AMD  

Slide 9

Slide 9 text

@OSBORNM github  |  twiQer  |  .com