Рубрики
Без рубрики

Построить простой инструмент CLI с DENO

Что такое deno? DENO – это безопасное время выполнения JavaScript и Teadncript, созданная Ryan DAH … Теги с помощью Tymdercript, JavaScript, Node, Deno.

Что такое deno?

Deno – это безопасное время выполнения для JavaScript и Teadercript, создаваемого Ryan Dahl, который также бывает создателем Nodejs. Если вы никогда не слышали о Deno, я предлагаю вам посмотреть эти переговоры Ryan: он говорит о своих ошибках с Nodejs здесь и более глубокий взгляд в Deno здесь DENO в основном то, какие у Nodejs были бы, если бы это было написано сегодня. Теперь Deno по-прежнему является относительно новым проектом, и он еще не достиг V1.0, и хотя он не предназначен для замены Nodejs, он, безусловно, имеет перспективы, чтобы стать будущим JavaScript Side Side. Некоторые из основных ценностей, которые отличаются от Nodejs, включают в себя:

  • Безопасность из коробки – явный доступ требуется для доступа к файлу, сети и среде.
  • Различный модуль Management System – Deno не использует NPM и нет Node_Modules. Скорее, у него есть система управления модулем, похожее на то, где модули импортируются через URL.
  • Встроенная поддержка SypercriptS – вы можете запустить файлы Teamscript непосредственно без компиляции JavaScript.
  • Он построен с ржавчиной!

Я лично очень взволнован этим проектом, особенно из-за его поддержки Typeyctry. Тем не менее, это нигде недалеко от достижения NODEJS с точки зрения популярности и усыновления.

Давайте построим что-то!

В этой статье мы собираемся построить простой инструмент CLI для демонстрации некоторых функций разговор . Наша CLI будет взаимодействовать с API Cryptogurnence, чтобы получить живые данные.

Требование : Убедитесь, что у вас установлен DENO. Если вы этого не сделаете, обратитесь к этому ссылка Отказ Это довольно просто.

Проекты DENO обычно имеют файл входа под названием модуль Так что мы собираемся начать здесь. Если вы кодируете вместе, создайте папку проекта рядом с вашим файлом ввода. Вот что выглядит каталог проекта:

Обзор:

  • Mod.ts это наш входной файл.
  • Makefile Содержит полезные команды, которые обычно были в Package.json для проекта Node.js.
  • Депонсс Содержит все наши зависимости.
  • Типы.d.ts Содержит определения наших типов.
  • Import_map.json содержит наши карты импорта. Мы используем это, чтобы включить ясность и читаемость.

Наш CLI в основном собирается предоставить две команды. Один, чтобы получить и перечислить все цены за монет в пределах пределе и один, чтобы получить определенную монету, используя I d. Во-первых, нам нужно анализировать флаги, предоставляемые с каждой командой, и Deno предоставляет нам только то, что нам нужно от библиотеки STD. Так что мы собираемся импортировать анализ Метод из флаги модуль. Вот как мы импортируем модули в DENO:

В DONO модули импортируются с помощью URL, и они в первую очередь кэшируют ваше приложение, поэтому, даже если у вас нет подключения к Интернету в последующее время, ваше приложение все равно будет запустить. @ v0.38.0 В нашем импорте означает, что я импортирую из версии выпуска, которую я в настоящее время установил. Вы можете опустить это и просто импортировать из последней версии, если вы только что установили DENO. В коде выше, мы разрушаем args Переменная от DENO пространство имен, которое просто возвращает аргументы, переданные скрипту, мы передаем его на анализ Способ, который возвращает объект, содержащий все аргументы, передаваемые в парах ключевых значений. Например, если мы запустим нашу программу как $ Crypto-Cli - Olimit 10 Возвращенный объект будет: {_: [], монеты: правда, лимит: 10} Отказ Первая недвижимость в объекте всегда является массивом, содержащим все аргументы, которые не имели опции, связанной с ними (то есть не совпадают -f или --flag ). Если вы не передаете соответствующее значение флага, он по умолчанию для правда Отказ

Давайте выпишем функцию для нашей первой команды:

Здесь у нас есть асинхронная функция, которая возвращает данные из нашего вызова API. Мы делаем запрос Fetch (да, DENO имеет функциональность браузера встроенную) на конечную точку API, чтобы получить все монеты в рамках Ограничить при условии. Оператор IF проверяет ли Ограничить не был предоставлен и по умолчанию до 10.

Функция для второй команды выглядит очень похожу, только что я D предусмотрен на этот раз.

Данные ответа от API содержат кучу информации, поэтому мы собираемся отфильтровать то, что нам нужно, и отформатируйте данные, которые мы хотим отображать.

В коде выше, formatdata Функция принимает объект необработанного данных и возвращает строку названия монет и текущей ценой в USD Отказ

Теперь давайте определим основную функцию, которая выполняет наши программные команды.

Функция выше – это IIFE который работает сразу, файл выполнен. У нас есть Переключатель Заявление, чтобы проверить первый флаг, который был передан и вызывает соответствующую функцию. Дело по умолчанию просто отображает приветственное сообщение. У нас также есть Если Условия для проверки дополнительных флагов, таких как Ограничить Отказ

Чтобы проверить нашу программу, мы собираемся запустить $ deno run - allow-net mod.ts - CCOins --лимит 10 Отказ Мы должны получить следующий результат:

Вы, должно быть, заметили - Нота-сеть Флаг передан в команду. Это пример первой безопасности DENO. Deno не может получить доступ к вашей сети, файлам или средам, не давая ему явного доступа. Так, например, если ваш код должен получить доступ к файловой системе, вам нужно будет запустить ее с - Прочитайте флаг.

Это все, что есть для нашего инструмента CLI. Если вы хотите увидеть полный код, репозиторий связан здесь Отказ В заключение, Deno является очень захватывающим проектом, особенно потому, что вы получаете все преимущества Typearcript из коробки без необходимости компилировать ваши файлы на JS Отказ Вы можете много строить с ним, начиная от программ CLI до HTTP-серверов. Посмотреть на Сборник из 3-го библиотек сторон И посмотрите, что люди строят.

Оригинал: “https://dev.to/unorthodev/build-a-simple-cli-tool-with-deno-1fmk”