Deno уже поддерживает модули NPM

дено нпм

Платформа разрабатывается Райаном Далем, создателем Node.js.

Недавно вышла новость о выходе новой версии фреймворка Deno 1.28, который позволяет выполнять автономные приложения JavaScript и TypeScript, которые можно использовать для создания контроллеров, работающих на сервере.

Deno был создан, чтобы предоставить пользователям более безопасную среду. и устранить неправильные представления об архитектуре Node.js. Для повышения безопасности обвязка вокруг движка V8 написана на Rust, что предотвращает многие уязвимости, возникающие из-за низкоуровневой обработки памяти.

Для обработки запросов в неблокирующем режиме используется фреймворк Tokio, также написанный на Rust. Tokio позволяет создавать высокопроизводительные приложения на основе событийно-управляемой архитектуры, поддерживающей многопоточность и асинхронную обработку сетевых запросов.

Некоторые особенности Основные из них Deno следующие:

  • Встроенная поддержка языка TypeScript в дополнение к JavaScript. Для проверки типов и генерации JavaScript используется обычный компилятор TypeScript, что приводит к падению производительности по сравнению с парсингом JavaScript в V8.
  • Среда выполнения представлена ​​в виде отдельного автономного исполняемого файла («deno»). Чтобы запускать приложения с помощью Deno, вы просто загружаете исполняемый файл для вашей платформы размером около 30 МБ, который не имеет внешних зависимостей и не требует специальной установки в вашей системе.
  • Эффективная обработка приложений сетевых запросов через HTTP, платформа предназначена для создания высокопроизводительных сетевых приложений.
  • Возможность создания универсальных веб-приложений, которые могут работать как в Deno, так и в обычном веб-браузере
  • Наличие стандартного набора модулей, использование которых не требует привязки к внешним зависимостям.
  • Модули из стандартной коллекции прошли дополнительный аудит и тестирование на совместимость
  • Пакет включает встроенную систему проверки зависимостей (команда "deno info") и утилиту форматирования кода (deno fmt).
  • Все скрипты приложения могут быть объединены в один файл JavaScript.

Главные новости Deno 1.28

Ключевым изменением в новой версии является стабилизация совместимости с пакетами, размещенными в репозитории NPM, что позволяет Deno использовать более 1,3 миллиона модулей создан для платформы Node.js. Например, приложения на основе Deno теперь могут использовать постоянные модули доступа к данным, такие как Prisma, Mongoose и MySQL, а также интерфейсные платформы, такие как React и Vue.

Некоторые модули NPM по-прежнему несовместимы с Deno., например, из-за привязок к определенным средам Node.js, таким как файл package.json. Также невозможно использовать команду «deno compile» с модулями NPM. В будущих выпусках планируется устранить эти несовместимости и ограничения.

Модульная система Унаследованная от Deno модель модуля ECMAScript и веб-API остается прежней., а знакомая схема загрузки Deno на основе URL используется для импорта модулей NPM.

Использование пакетов NPM в Deno намного проще, чем в Node.js., так как нет необходимости предварительно устанавливать модули (модули устанавливаются при первом запуске приложения), файл package.json не используется и каталог node_modules не используется, используется по умолчанию (модули кэшируются в общем каталоге, но можно вернуться к предыдущему поведению с помощью параметра «--node-modules-dir»).

приложения, основанные на NPM сохраняют возможность использования механизмов контроля доступа, Изоляция и активация Deno для расширенных функций, влияющих на безопасность. Чтобы противостоять атакам через сомнительные зависимости, Deno по умолчанию блокирует все попытки доступа к системе из зависимостей и отображает предупреждение об обнаруженных проблемах. Например, когда модуль пытается записать в /usr/bin/, для этой операции будет отображаться запрос подтверждения:

Усовершенствования, не связанные с NPM в новой версии включить модернизацию двигателя V8 для версии 10.9, автоматическое обнаружение файлов с блокировками, стабилизация Deno.bench(), Deno.gid(), Deno.networkInterfaces(), Deno.systemMemoryInfo() и API Deno. .uid(), добавив новый нестабильный API Deno.Command() для выполнения команд (универсальная замена Deno.spawn, Deno.spawnSync и Deno.spawnChild).

Наконец, стоит упомянуть, что Как и Node.js, Deno использует движок JavaScript V8., который также используется в браузерах на основе Chromium. При этом Deno — это не форк Node.js, а новый проект, построенный с нуля. Код проекта распространяется под лицензией MIT и есть готовые сборки для Linux, Windows и macOS.

Если вы интересно узнать о нем больше, вы можете проконсультироваться по следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.