AMD
and
Lazy Loading
*
with
(*Asynchronous Module Definition)
About Me
Front-end developer
&
@
filiptc @ gmail.com
Philip Thomas Casado
filiptc
Contents
-
AMD
-
Intro to RequireJS
-
AngularJS + RequireJS
-
AngularJS with lazy loading
- Future of AngularJS AMD (bonus)
AMD
"The Asynchronous Module Definition (AMD) API specifies a mechanism for defining modules such that the module and its dependencies can be asynchronously loaded."
It "can be used during development to keep JavaScript files encapsulated in many different files."
AMD
define(id?, dependencies?, factory);
AMD
curl.js
RequireJS
<script data-main="/src/main" src="/vendor/require.js" />
define(name?, deps?, factory);
require(config?, deps, success, error);
RequireJS
No AMD:
index.html
REQUIREJS
No AMD:
alerter.js
main.js
dataservice.js
REQUIREJS
With AMD (RequireJS):
index.html
REQUIREJS
With AMD (RequireJS):
alerter.js
dataservice.js
main.js
AngularJS + RequireJS
Bootstrap example
main.js
Bootstrap Example
app.js
ROUTING (UI-ROUTER)
routes.js
Models (Restangular)
restangular/configure.js
/.../common/collections.js
/config/models/collections.js
AMD & 'Lazy Loading'
By Philip J. Thomas Casado
AMD & 'Lazy Loading'
- 1,201