RequireJS
Sufyan bin Uzayr, Nicholas Cloud, Tim Ambler · Apress eBooks · 2019
While JavaScript now plays a far more significant role in web applications, the HTML5 specification (and therefore modern browsers) does not specify a means to detect dependency relationships among scripts or how to load script dependencies in a particular order. In the simplest scenario, scripts are typically referenced in page markup with simple tags. These tags are evaluated, loaded, and executed in order, which means that common libraries or modules are typically included first, then application scripts follow. (For example, a page might load jQuery and then load an application script that uses jQuery to manipulate the Document Object Model [DOM].) Simple web pages with easily traceable dependency hierarchies fit well into this model, but as the complexity of a web application increases, the number of application scripts will grow and the Web of dependencies may become difficult, if not impossible, to manage.