These are the slides from Johannes Weber's talk which were presented on AngularJS Lightning Talks #2 (2014-06-26) in Munich. More details about the event: http://www.meetup.com/AngularJS-Munich/events/164424472/
3. Preview Take-aways
‣ AngularJS injects instances
‣ RequireJS injects classes
‣ Keep testing in mind when organizing your app structure
4. Is RequireJS really needed?
‣ Simple & small apps
‣ The whole code in one file
‣ Load all packages manually <script src=“…“></script
What about large apps…
5. … like apps with more classes?
http://andrewgelman.com/2009/06/30/visualizing_tab/
6. Schrift in weiß oder grau. Darauf achten, dass Text auf Motiv
lesbar bleibt.
Thema
It’s time for…
$ bower install requirejs
7. 3 RequireJS APIs which you need to know
‣ define()
define & register dependencies
‣ require()
callback function invoked when all defines() have completed
‣ config()
configure source paths, shims and aliases
9. require([dep1], function(dep1) {})
Act as initialization or root of the dependency tree
Starts the cascade of dependency checks and script loading
Starts the cascade of define() triggers
11. „RequireJS is a JavaScript file and
module loader.“
(load and runtime dependency)
„AngularJS comes with a built-in
dependency injection mechanism.“
(construction and ng module dependency)
12. Hot to use it with AngularJS?
‣ Use define() around all your code
‣ Use require.config() to set your paths & config
‣ Use require() to launch your initialize your App
https://github.com/tnajdek/angular-requirejs-seed
19. Challenges on huge apps
‣ AMD is not just JavaScript, also CSS and Templates
RequireJS provides plugins for that
‣ Growing app size from trivial to complex
could be solved by partitioned modules
‣ On-demand load and unload modules
Currently very difficult
‣ AngularJS 2.0 - deferred loading with ES6 annonations