Spec-Zone.ru › Deno 2

Привет, мир

Deno — это защищённая среда выполнения для JavaScript и TypeScript.

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

Когда вы запускаете JavaScript в веб-браузере (например, Chrome, Firefox или Edge), вы используете среду выполнения браузера.

Среды выполнения браузеров тесно связаны с самим браузером. Они предоставляют API для манипулирования моделью документа (DOM), обработки событий, выполнения сетевых запросов и многого другого. Эти среды выполнения работают в песочнице, они функционируют в рамках модели безопасности браузера. Они не могут получить доступ к ресурсам за пределами браузера, таким как файловая система или переменные среды.

Когда вы запускаете свой код с помощью Deno, вы выполняете свой код JavaScript или TypeScript непосредственно на вашем компьютере, вне контекста браузера. Поэтому программы Deno могут получать доступ к ресурсам на компьютере-хосте, таким как файловая система, переменные среды и сетевые сокеты.

Deno предоставляет удобный способ выполнения кода JavaScript и TypeScript. Независимо от того, предпочитаете ли вы динамичный характер JavaScript или безопасность типов TypeScript, Deno подойдёт вам.

Запуск скрипта

В этом руководстве мы создадим простой пример «Привет, мир» на JavaScript и TypeScript с помощью Deno.

Мы определим функцию capitalize, которая делает заглавной первую букву слова. Затем мы определим функцию hello, которая возвращает приветственное сообщение с заглавной первой буквой имени. Наконец, мы вызовем функцию hello с разными именами и выведем результат в консоль.

JavaScript

Сначала создайте файл hello-world.js и добавьте следующий код:

hello-world.js
function capitalize(word) {
  return word.charAt(0).toUpperCase() + word.slice(1);
}

function hello(name) {
  return "Hello " + capitalize(name);
}

console.log(hello("john"));
console.log(hello("Sarah"));
console.log(hello("kai"));

Запустите скрипт с помощью команды deno run.

$ deno run hello-world.js
Hello John
Hello Sarah
Hello Kai

TypeScript

Этот пример TypeScript полностью идентичен примеру JavaScript, просто в коде добавлена дополнительная информация о типах, которую поддерживает TypeScript.

Создайте файл hello-world.ts и добавьте следующий код:

hello-world.ts
function capitalize(word: string): string {
  return word.charAt(0).toUpperCase() + word.slice(1);
}

function hello(name: string): string {
  return "Hello " + capitalize(name);
}

console.log(hello("john"));
console.log(hello("Sarah"));
console.log(hello("kai"));

Запустите скрипт TypeScript с помощью команды deno run.

$ deno run hello-world.ts
Hello John
Hello Sarah
Hello Kai

Инициализация проекта

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

Инициализируйте новый проект, выполнив следующую команду:

deno init my_project

Где my_project — имя вашего проекта. Вы можете подробнее узнать о структуре проекта.

Запуск проекта

Перейдите в директорию проекта:

cd my_project

Затем вы можете запустить проект напрямую с помощью команды deno task.

deno task dev

Посмотрите на файл deno.json в вашем новом проекте. Вы должны увидеть задачу dev в поле «tasks».

deno.json
"tasks": {
  "dev": "deno run --watch main.ts"
},

Задача dev — это распространённая задача, которая запускает проект в режиме разработки. Как видите, она запускает файл main.ts со флагом --watch, который автоматически перезагрузит скрипт при внесении изменений. Вы можете увидеть это в действии, если откроете файл main.ts и внесёте изменение.

Запуск тестов

В директории проекта выполните:

deno test

Это выполнит все тесты в проекте. Подробнее о тестировании в Deno и более подробное описание тестов мы рассмотрим в последующих руководствах. В данный момент у вас есть один тестовый файл, main_test.ts, который тестирует функцию add в main.ts.

Добавление в проект

Файл main.ts служит точкой входа в ваше приложение. Здесь вы напишете основную логику программы. При разработке проекта вы начнете с удаления стандартной программы добавления и замените её собственным кодом. Например, если вы создаёте веб-сервер, здесь вы настроите свои маршруты и будете обрабатывать запросы.

Помимо начальных файлов, вам, вероятно, понадобятся дополнительные модули (файлы) для организации кода. Рассмотрите возможность группирования связанных функций в отдельные файлы. Помните, что Deno поддерживает модули ES, поэтому вы можете использовать инструкции import и export для структурирования кода.

Пример структуры папок для проекта Deno:

my_project/
├── deno.json
├── main.ts
├── main_test.ts
├── routes/
│   ├── home.ts
│   ├── about.ts
├── services/
│   ├── user.ts
│   ├── post.ts
└──utils/
    ├── logger.ts
    ├── logger_test.ts
    ├── validator_test.ts
    └── validator.ts

Такая структура поддерживает чистоту проекта и облегчает поиск и управление файлами.

🦕 Поздравляем! Теперь вы знаете, как создать простой скрипт как на JS, так и на TS, как запустить его в Deno с помощью команды deno run и как создать новый проект с помощью deno init. Помните, что Deno пропагандирует простоту и избегает сложных инструментов сборки. Сохраняйте свой проект модульным, тестируемым и организованным. По мере роста проекта адаптируйте структуру под свои потребности. И самое главное, получайте удовольствие, изучая возможности Deno!

© 2018–2024 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/tutorials/hello_world

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API