Deno — это простая, современная и безопасная среда выполнения для JavaScript и TypeScript, которая использует V8 и построена на языке программирования Rust.

Проще говоря, deno — это безопасная среда выполнения как для javascript, так и для typescript. Он построен на основе V8, Rust и TypeScript и разработан Ryan Dahl.

V8 — это движок JavaScript с открытым исходным кодом, разработанный The Chromium Project для веб-браузеров Google Chrome и Chromium.

Rust — мультипарадигмальный язык программирования, ориентированный на производительность и безопасность, особенно на безопасный параллелизм.

Основные моменты Deno

Функции, предоставляемые deno согласно официальному сайту:

  • Deno по умолчанию защищен, нам нужно явно предоставить доступ.
  • Поддерживает машинопись из коробки.
  • Хорошо работает со стандартными модулями.
  • Имеет встроенные утилиты, такие как deno info и deno fmt.
  • Он отправляет только один исполняемый файл.

Установка deno JS — довольно простой процесс. Deno поставляется как единый исполняемый файл без каких-либо зависимостей.

Есть два способа установки deno js.

Использование двоичных файлов

Вы можете скачать бинарный файл релиза с официальной страницы релизов deno.

Использование команд

Оболочка (Mac, Linux):

$ curl -fsSL https://deno.land/x/install/install.sh | sh

PowerShell (Windows):

$ iwr https://deno.land/x/install/install.ps1 -useb | iex

Полный набор команд можно найти на 👉 https://deno.land

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

Файл welcome.ts представляет собой машинописный файл с простым консольным сообщением «Добро пожаловать в Deno 🦕» и размещен на веб-сайте deno land.

Мы запустим этот файл напрямую из командной строки PowerShell.

$ deno run https://deno.land/std/examples/welcome.ts

Установка Deno и запуск первой программы:

Теперь давайте напишем немного сложный код, используя один из наших любимых редакторов кода — VS Code. Если на вашем компьютере не установлен VS Code, скачайте его с сайта code.visualstudio.com, это бесплатно 🙂

Давайте откроем VS Code, создадим файл с именем «hello.js» и вставим в него данный код (взято с deno.land).

import { serve } from "https://deno.land/[email protected]/http/server.ts"; const s = serve({ port: 8000 }); console.log("http://localhost:8000/"); for await (const req of s) { req.respond({ body: "Hello World\n" }); }

Теперь, запуская этот код, мы ожидаем, что «Hello World» будет выводиться в окно браузера.

[Решено] Ошибка Uncaught PermissionDenied

Во время запуска нашей программы с помощью

deno run hello.js

Мы получили эту ошибку:
Uncaught PermissionDenied: сетевой доступ к «0.0.0.0:8000», повторите запуск с флагом -allow-read

Почему эта ошибка возникает при запуске нашего первого фрагмента кода?

Deno по умолчанию безопасен. Таким образом, если мы специально не включим его, модуль deno не будет излишним в файле, сети или среде. Итак, нам нужно предоставить разрешение явно.

-allow-net — для доступа к сети.

-allow-read — для чтения файлов.

-allow-write — для записи файлов.

Для нашего кода, чтобы решить эту ошибку, нам нужно передать дополнительный флаг «-allow-net» вместе с командой deno run.

deno run --allow-net hello.js

Это запустит нашу программу и попросит нас перейти к http://localhost:8000/ с помощью Ctrl + Click.

Давайте подытожим все, что мы узнали о начале работы с deno js.

  • Deno не является заменой node js.
  • Deno — это безопасная среда выполнения как для JavaScript, так и для TypeScript.
  • Если вы широко используете typescript, то с помощью deno.js вы можете избавиться от лишних компиляторов javascript, таких как babel.
  • Deno не использует ни npm, ни package.json.

Если вы где-то застряли, обратитесь к руководству deno для получения дополнительной информации.

Эти два курса кажутся мне хорошими для концепций deno.js.

1️⃣ Deno: полное руководство к мастерству с нуля

2️⃣ Освоение Deno.js: от новичка до эксперта [2020]

Это видео объясняет основы deno.js за 5 минут и помогает вам начать работу с Deno. Вы можете просмотреть его и подписаться. » на канал.

PS: если вы нашли этот контент ценным и хотите отблагодарить, то

Вы можете подписаться на нас в Instagram, чтобы получать потрясающие посты.

Я надеюсь, что вам понравился этот пост в разделе Начало работы с Deno JS. Пожалуйста, поделитесь им с друзьями и помогите нам расширить охват.

Отказ от ответственности: большая часть контента БЕСПЛАТНА. Но некоторые ресурсы могут содержать партнерские ссылки. Когда вы покупаете, я могу получить комиссию от продавца без каких-либо дополнительных затрат для вас.

Первоначально опубликовано на https://dotnetcrunch.in 7 августа 2020 г.