Итак, я сейчас использовал require.js, но понял, что на самом деле я не знаю, как это работает под капотом. В нем говорится, что это загрузчик AMD.
Я понимаю, что CommonJS является синхронным, что означает, что он блокирует выполнение других кодов во время загрузки. С другой стороны, AMD является асинхронной. Здесь я запутался.
Когда я определяю модуль, он должен загрузить a, b, c для выполнения обратного вызова. Как работает асинхронная работа?
- Разве это не синхронно, когда нужно сначала загрузить эти три зависимости?
- Означает ли это, что AMD загружает a, b, c асинхронно, а затем проверяет, загружены ли эти файлы (не заботятся о заказе), а затем выполнить обратный вызов?
define("name",["a","b","c"], function(a,b,c){
});