Async js bootstrap template
The bootstrap template to resolve dependencies of an js app before its invocation while that app along w/ dependencies are loaded asynchronously
This working concept implements the solution to avoid the niggling trouble of asynchronous loading in browser when an app itself are loaded & invoked faster than the whole bunch of its dependencies
The bootstrap is not limited to modern browsers & can be safely utilized w/ legacies (IE9 & above are in, IE8 & below require additional polyfill)
The template
'use strict' ; { ; { return ? : }}this {}
Once more, this time w/ comments
'use strict' /** * The outer frame of the whole thing * * @param * @param * * @returns */; { /** * Resolves dependencies of an app. Invokes that app as soon as * all dependencies are resolved * * @returns { … } Invoked app if its dependencies are completely * resolved, itself deferred for 0.1s otherwise */ ; { return /** * The array of strings * * Each string defines a dependency to be resolved * (like “_”, “FormValidation.Framework.Bootstrap”, * “jQuery.fn.modal” etc) * * Dependencies gotta be defined by their complete * namespace relative to the global one. The order * of dependencies within the array doesn't matter */ ? : }}this { /** * An app code goes here */}
Samples
The sample below resolves 4 dependencies
'use strict' ; { ; { return '_' 'jQuery' 'jQuery.fn.lazy' 'FastClick' ? : }}this { /** * An app code goes here */}
The next sample resolves the dependency & then passes its instance to an app on invocation
'use strict' ; { ; { return 'jQuery' ? : }}this { }
Bugs
If you have faced some bug, please follow this link to create the issue & thanks for your time & contribution in advance!
Glory to Ukraine! 🇺🇦
Juliy V. Chirkov, twitter.com/juliychirkov