CommonJS

редактировать
CommonJS был проектом с цель установить соглашения по экосистеме модулей для JavaScript вне веб-браузера.

CommonJS был проектом с целью установить соглашения в экосистеме модуля для JavaScript вне веб-браузера. Основной причиной его создания было серьезное отсутствие общепринятых форм модулей модуля JavaScript, которые можно было бы повторно использовать в средах, отличных от тех, которые предоставляются обычными веб-браузерами, выполняющими сценарии JavaScript (например, веб-серверы или собственные настольные приложения ).

Спецификация модуля CommonJS широко используется сегодня, в частности, для серверного программирования JavaScript с Node.js. Он также используется при разработке JavaScript на стороне браузера, но код должен быть упакован с транспилером , поскольку браузеры не поддерживают CommonJS. Другой основной используемой спецификацией серверных модулей является спецификация модулей ES (модули ES6). CommonJS можно распознать с помощью функции require ()и module.exports, в то время как модули ES используют операторы importи export. за аналогичный (хотя и не идентичный) функционал.

Содержание
  • 1 История
  • 2 Технические характеристики
    • 2.1 Текущие
    • 2.2 Предложения
  • 3 Реализации
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
История

Проект был начат инженером Mozilla Кевином Дангуром в январе 2009 года и первоначально назывался ServerJS .

То, что я здесь описываю, не является технической проблемой. Это вопрос того, чтобы люди собрались вместе и приняли решение сделать шаг вперед и вместе начать создавать что-то большее и крутое.

— Кевин Дангур

В августе 2009 года проект был переименован в CommonJS, чтобы продемонстрировать более широкую применимость API. Спецификации создаются и утверждаются в открытом процессе. Спецификация считается окончательной только после того, как она была завершена несколькими реализациями. CommonJS не входит в группу Ecma International TC39, работающую над ECMAScript, но некоторые члены TC39 участвуют в проекте.

Спецификации

Список спецификаций включает:

Текущие

  • модули / 1.0 (заменены модулями / 1.1)
  • Модули / 1.1
  • Модули / 1.1.1
  • Пакеты / 1.0
  • Система / 1.0

Предложения

Предложения охватывают гораздо больше, чем модули. Они намерены определить набор API-интерфейсов, которые полезны как для реализаций JavaScript вне Интернета, так и со стандартизованными именами пакетов для обеспечения взаимодействия в экосистеме. Эта цель иногда пересекается с целью TC39, и такие части, как Promises, действительно вошли в сам ECMAScript.

Часть после косой черты - это версия. Когда предложение является спорным, каждому отдельному предложению (включая последовательные исправления от одного и того же автора) присваивается новая буква. Когда основное направление известно, ему начинают присваиваться числовые версии.

  • Binary/B,F
  • Консоль (перенесена из Интернета)
  • Кодировки / A, C
  • Кодировки / A
  • HTTP-клиент / B
  • IO/A
  • Filesystem/A,A/0
  • Modules / Async / A
  • Modules / AsynchronousDefinition
  • Modules / LoaderPlugin
  • Модули / Ресурсы
  • Модули / SimpleAsynchronous
  • Модули / Транспорт / B, C, D, E
  • Модули / Обертки
  • Модули / Обертки - Явные -Зависимости
  • Пакеты / 1.1
  • Пакеты / Асинхронное определение
  • Пакеты / Отображения / A, B, C, D
  • Промисы / B, D
  • Unit Testing / B, 1.0,1.0.1
Реализации
  • Common Node
  • CommonJS Compiler - инструмент командной строки, который делает Common JS-модули подходящими для использования в браузере
  • CommonJS для PHP - облегченная реализация CommonJS для PHP 5.3+
  • CouchDB
  • Flusspferd
  • GPSEE
  • Jetpack
  • Joyent Smart Platform
  • JSBuild
  • MongoDB
  • Narwhal (платформа JavaScript)
  • Node.js (частичный; синхронный)
  • Persevere
  • Загрузчик JavaScript PINF
  • RingoJS
  • SilkJS
  • SproutCore
  • TeaJS
  • Wakanda
  • XULJet
  • QUnit
См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-15 07:06:51
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте