Определение асинхронного модуля ( AMD ) - это спецификация для языка программирования JavaScript . Он определяет интерфейс прикладного программирования (API), который определяет модули кода и их зависимости , и при необходимости загружает их асинхронно. Реализации AMD обеспечивают следующие преимущества:
- Улучшения производительности веб-сайта. Реализации AMD загружают файлы JavaScript меньшего размера, и то только тогда, когда они необходимы.
- Меньше ошибок страницы. Реализации AMD позволяют разработчикам определять зависимости, которые должны загружаться перед выполнением модуля, поэтому модуль не пытается использовать внешний код, который еще не доступен.
Помимо загрузки нескольких файлов JavaScript во время выполнения, реализации AMD позволяют разработчикам инкапсулировать код в более мелкие, более логически организованные файлы, аналогично другим языкам программирования, таким как Java . Для производства и развертывания разработчики могут объединять и минимизировать модули JavaScript на основе AMD API в один файл, как и традиционный JavaScript.
AMD обеспечивает некоторую совместимость с CommonJS . Это позволяет использовать аналогичный exports
и require()
интерфейс в коде, хотя его собственный define()
интерфейс более базальный и предпочтительный. [1] Определение универсального модуля ( UMD ) - это вариант парадигмы, который использует преимущества этих общих черт для поддержки как AMD, так и CommonJS. [2]
Спецификация AMD реализована с помощью Dojo Toolkit , RequireJS и других библиотек.
Рекомендации
- ^ «Спецификация AMD» . GitHub . Группа для AMD JS Module API. 28 октября 2019 . Проверено 28 октября 2019 года .
- ^ «Универсальное определение модуля» . GitHub . 28 октября 2019.