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 г.