Requirejs en r.js aanpak

25
RequireJS en r.js aanpak Alexander van Trijffel

Transcript of Requirejs en r.js aanpak

Page 1: Requirejs en r.js aanpak

RequireJS en r.js aanpak

Alexander van Trijffel

Page 2: Requirejs en r.js aanpak

Agenda RequireJS aanpak binnen MijnXX Integratie met PolisWeb Bundling met r.js

Page 3: Requirejs en r.js aanpak

vs

Waarom AMD / RequireJS?

modulariteit

global namespace

Page 4: Requirejs en r.js aanpak

Scripts◦ Config◦ Modules

Shared ViewModules

◦ Vendor Bootstrap

DefaultBundle

◦ Naamgevingconventies: lowercase Streepjes - als scheidingsteken (i.p.v. punten)

Voorbeeld: moment-timezone-with-data.js

Script folderstructuur

Page 5: Requirejs en r.js aanpak

Te beginnen met de _Layout..

Page 6: Requirejs en r.js aanpak

Bootstrap package

Page 7: Requirejs en r.js aanpak

Bootstrap default bundle

Page 8: Requirejs en r.js aanpak

ViewBag.DisableScriptsForRequireJsPage PageRequireEntryPoints

Terug naar de _Layout..

Page 9: Requirejs en r.js aanpak

PageRequireEntryPoints

Page 10: Requirejs en r.js aanpak

Overgeven C# variabelen naar JS

Page 11: Requirejs en r.js aanpak

paths

requireconfig

Page 12: Requirejs en r.js aanpak

map

Requireconfig

Page 13: Requirejs en r.js aanpak

shim

requireconfig

Page 14: Requirejs en r.js aanpak

Requireconfigpoliswebcomposite.js

Page 15: Requirejs en r.js aanpak

Agenda:◦ Bundling build configuratie◦ Task runner◦ Wijze van inladen bundles◦ Demo

r.js optimization

Page 16: Requirejs en r.js aanpak

web.config:Lokaal standaard uit, in alle server omgevingen aan

r.js optimization

Page 17: Requirejs en r.js aanpak

require-build-config.js

Page 18: Requirejs en r.js aanpak

Lokaal:

Met MinifyJavascript=true:

_Layout: extra requirejs config voor bundling

Page 19: Requirejs en r.js aanpak

Caching voor Scripts-built

Page 20: Requirejs en r.js aanpak

Require-build-config.js deel II

Page 21: Requirejs en r.js aanpak

Lokaal uitvoeren wanneer je MinifyJavascript aan hebt staan en wijzigingen wilt testen!

Gulp task voor r-optimizer

Page 22: Requirejs en r.js aanpak

En voor de team build een powershell script om de scripts-built folder te maken:

Gulp task

Page 23: Requirejs en r.js aanpak

Volgordelijkheid inladen bundles en scripts die daarvan afhankelijk zijn

Plaats je require in de callback, anders wordt het script niet uit de bundle geladen!

Volgordelijkheid van inladen

Page 24: Requirejs en r.js aanpak

Aan de slag met RequireJS modules en bundlesDemo

Page 25: Requirejs en r.js aanpak