Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //lazy loading
- //modul loader -> load js files with ajax requests
- //data-main -> config
- //script sufix must be omited
- //relative path from app-config directory
- /* app-config.js */
- (function () {
- require.config({
- paths: {
- "jquery": "libs/jquery-2.0.3"
- }
- });
- //require jquery for function
- //can be used path too -> "libs/jquery-2.0.3" without config
- require(["jquery"], function ($) {
- $("html").append("module loaded");
- });
- }());
- /* moduls */
- // moduls 1 per file
- // name of modul is path of file
- // function define creates modul
- define(function () {
- //do
- return something
- }())
- // or define just data modul json
- define({ someJson: true })
- // no dependencies
- define(function () {
- var Class = (function () { .............. }())
- return Class;
- });
- // with dependencies
- define(['dependance modul1', 'dependance modul2' ...], function () {
- var Class = (function () { .............. }())
- return Class;
- });
- // dependance objects are paramethers of function
- define(['rsvp','qjuery'], function(rsvp, $))
- //something like main method
- require(["jquery","mustache", "app/data-persister", "app/controls"], function ($, mustache, data, controls) {
- data.people()
- .then(function (people) {
- var personTemplateString = $("#person-template").html();
- var template = mustache.compile(personTemplateString);
- var listView = controls.listView(people);
- var listViewHtml = listView.render(template);
- $("body").append(listViewHtml);
- }, function (err) {
- console.error(err);
- });
- });
- // all moduls load their own dependences but not overlap if olready loaded
- // dependences loads in parallel (if depends each other)
- // moduls return objects (but not mandatory)
Advertisement
Add Comment
Please, Sign In to add comment