A long time ago, Dynamics CRM introduced the concept of asynchronous loading of form web resources – this created a challenge when scripts depend on other scripts to be loaded first (e.g. inheritance or using a common type system library during script loading).
Version 9 has introduced an interesting feature where you can define the dependencies that a specific script has on other scripts.
Imagine you had 3 scripts
- C.js requires B.js to load
- B.js requires A.js to load
You can now define these dependencies in the web resources dialog:
I was hoping that by defining this dependency graph, the runtime would load them in the correct order like a module loader would – but having run some test the execution order still depending on the download speed and size of the script.
Script load execution order C - B - A
Script load execution order A - B - C
The Web resource dependency feature is awesome when you have many resources that are required during form events at runtime (e.g. onload, onchange etc.) You can simply add the single script into the form and the other dependencies will be loaded for you.
At this time, it's not a solution for where you need those dependencies during script load execution.