Что за файл todo
Обновлено: 04.07.2024
За пять шагов вы создадите свою программу для ведения списка дел: таск-менеджер, тудушку, называйте как хотите. Её можно сразу разместить в интернете и управлять задачами с любого компьютера или телефона. На это уйдёт 10 минут, и её можно будет бесконечно настраивать и дорабатывать под ваши потребности и предпочтения.
Для написания программы понадобится простой текстовый редактор. Мы рекомендуем установить Sublime Text, у него есть версии для всех компьютеров.
Наш список дел будет работать так: мы создадим специальную страницу для браузера. В неё будет вшита программа, которая и станет нашим таск-менеджером. Сначала сделаем каркас страницы, затем настроим внешний вид, а потом подключим код, который будет запоминать наши дела и управлять ими. Данные будут храниться во внутренней памяти браузера, то есть программой предполагается пользоваться на компьютере или телефоне, и он будет всё помнить. Можно будет перезагружать страницу, выключать и снова включать устройство — информация сохранится.
Создаём макет страницы
Сделаем пустую HTML-страницу, которая будет отвечать за наш список задач. В самом минимальном виде она выглядит так:
Надписи внутри угловых скобок — например, <body> — это специальные команды HTML. Они говорят браузеру, как вести себя с разными элементами страницы. Пока что на этой странице нет элементов, есть лишь служебная часть <head> . </head> и часть страницы, в которой позже будет наша программа — <body> . </body> . Это наш чистый лист.
Обратите внимание: в самом начале есть команда <!DOCTYPE html> . Она сообщает браузеру, что содержимое файла нужно показывать как веб-страницу. Если этого не сделать, то компьютер может не понять некоторые команды и страница будет выглядеть плохо.
Сохраним этот текст как файл task.html. Обратите внимание, что расширение здесь (то, что идёт после точки) именно .html, а не .doc или .txt! Когда мы откроем этот файл в браузере, то увидим белую страницу, на которой ничего нет.
Добавим в раздел <head> служебную информацию, которая расскажет компьютеру, как работать с этой страницей. С помощью надписей <!--. --> мы оставляем комментарии — чтобы было понятно, что происходит в коде. Браузер на эти пометки не смотрит, это всё для нас:
Сохраняем и снова открываем в браузере — ничего не изменилось, кроме названия вкладки: теперь там «Список задач». Но «под капотом» произошло много всего: браузер теперь понимает кодировку страницы, умеет работать с русским языком, и у него в память загружен специальный набор инструментов, которые ускорят нашу работу.
Теперь наполним страницу смыслом: напишем заголовок, поставим поле для ввода задач и предусмотрим место для списка. Вставим этот кусок кода после тега <body> :
Сохраняем файл и обновляем страницу:
Настраиваем внешний вид
У нас уже есть страница для ведения дел, но она пока неопрятно выглядит и ничего не умеет. Разберёмся сначала с внешним видом.
Для того чтобы настроить шрифты, размеры и цвета на странице, мы будем использовать CSS-стили — это специальные команды, которые говорят браузеру, как отображать элементы на странице: какого их делать размера, как красить, какие выбирать шрифты и так далее. Стили можно подключить двумя способами: оформить отдельным файлом и дать на него ссылку или сделать всё внутри страницы. Так как у нас всего один файл, то будем работать внутри него, чтобы весь код был в одном месте. В больших проектах CSS-стили выносят в отдельный файл, чтобы из одного места управлять всеми страницами.
Чтобы использовать CSS-элементы внутри страницы, их помещают в служебный раздел <head> . Компьютер должен знать, что это именно стили для внешнего вида, а не команды что-то показать, поэтому они пишутся внутри тега <style type="text/css"> . </style> :
Помещаем этот кусок в самом конце раздела <head> , сохраняем файл и обновляем страницу:
Теперь наш список задач выглядит аккуратнее, но по-прежнему ничего не умеет. Начинаем программировать на JavaScript.
Пишем скрипт для работы с задачами
Всю скриптовую часть мы будем писать в конце страницы, чтобы сначала у нас в файле шёл CSS, затем HTML-код самой страницы, а после него — JavaScript. Поэтому все блоки помещаем после последнего тега </div> , когда у нас закончилась вся визуальная часть.
Нам понадобится библиотека jQuery, чтобы код мог быстро работать с полем ввода и списком задач.
jQuery — это отдельная библиотека, написанная на языке JavaScript. Проще говоря, это некий набор готовых функций, которые упрощают жизнь разработчика и написание кода. Особенность jQuery в том, что она позволяет напрямую работать с любым элементом на странице. Это нам пригодится для обработки конкретных дел из нашего списка.Строго говоря, всю работу в этой задаче можно было проделать и без jQuery, на чистом JavaScript, но это займёт немного больше времени и будет не так удобно и красиво.
А теперь пишем сам скрипт, который будет делать следующее: ждать, пока пользователь не внесёт текст в поле ввода и не нажмёт клавишу ввода. После этого скрипт помещает новую задачу в память компьютера, а потом добавляет её в конец списка. Когда задача выполнена и на неё щёлкнули мышкой, скрипт удалит соответствующую строку из списка и из памяти устройства.
Добавим раздел с нашим скриптом после раздела с jQuery:
Заведём переменные для наших задач, которые отвечают за список:
Теперь напишем функцию, которая берёт из памяти наши задачи (если они там уже есть) и делает из них список. Функция — это маленькая программа внутри большой программы, в нашем случае она отвечает за визуализацию списка задач.
У каждого браузера есть своё внутреннее хранилище данных, где он запоминает информацию с разных сайтов. Хранилище называется localStorage. Любой сайт может туда что-то записать, а потом, когда понадобится, извлечь из памяти свои данные и работать с ними дальше.
LocalStorage хорош тем, что не обнуляет данные, когда вы перезагружаете страницу. То есть сохранённая тут информация будет жить в браузере, пока вы специально её не удалите. Но есть и минусы: если вы откроете страницу в другом браузере или с другого компьютера, там будет свой localStorage и посмотреть свои задачи с другого устройства не удастся.
Чтобы хранить единый список задач на разных компьютерах и получать к нему доступ по паролю, потребуется большое хозяйство с сервером, базой данных, авторизацией и кучей всего. Мы в такие дебри пока не полезем.
Скрипт теперь может брать из памяти наши старые задачи. Правда, если запустить его прямо сейчас, то ничего не произойдёт: ведь в самом начале в локальном хранилище ещё ничего нет. Но если мы уже работали с нашим списком задач, в нём могли остаться наши старые записи. Поэтому запустим эту функцию в самом начале скрипта на тот случай, если вдруг в памяти уже что-то есть:
Теперь при запуске скрипта он проверяет, нет ли чего-то старого в памяти, и как бы «вспоминает» ваши задачи.
Теперь нужно сделать так, чтобы мы могли вводить эти задачи. Для этого нам нужно отследить тот момент, когда пользователь ввёл текст в поле на странице и нажал Enter. Если он хоть что-то написал — запоминаем это и добавляем в список. Нестрашно, если сейчас вы не до конца понимаете, что в этом коде происходит, — всему своё время. Просто используйте его, так делает большинство программистов:
Теперь наша программа умеет запоминать задачи, которые вы ввели в поле ввода. Это происходит по нажатию клавиши Enter. Осталось сделать так, чтобы по клику на любой строке в перечне задач она исчезала из памяти и убиралась из списка:
Всё, планировщик готов. Копируем эти части кода в наш раздел со скриптом и проверяем работу:
Если мы закроем эту страницу или перезагрузим компьютер, то данные всё равно останутся в памяти. Значит, программа работает как нужно и у нас всё получилось.
Полный текст страницы (можно скопировать целиком и вставить в текстовый редактор):
Что можно ещё сделать
Можно перекрасить любой элемент на странице: для этого в таблице стилей CSS нужно прописать свойства нужных вам объектов. Наберите в Яндексе «CSS сменить фон страницы», и интернет вам подскажет решение.
Сейчас существует огромное количество самых разных менеджеров задач на любой вкус. Однако у них есть недостаток: их работоспособность от вас не зависит. И в случае ликвидации любимого сервиса придётся заново осваивать другую программу. Если вас не устраивает такая перспектива, попробуйте ToDo.txt.
Что такое ToDo.txt
Это не программа и не веб‑приложение. Это система управления задачами, для которой достаточно только простого текстового файла в формате TXT. Придумала её блогер и разработчик Джина Трипани.
Суть этой системы в следующем: вы пишете свои дела в файлик TXT, строчка за строчкой, и отмечаете завершённые символом x. При необходимости можно добавлять теги и контекст, чтобы группировать задачи. Вот, в общем‑то, и всё. Идеальный инструмент для тайм‑менеджмента минималистов.
Прелесть ToDo.txt в том, что вы можете контролировать свои задачи с помощью одного только «Блокнота» — даже не надо ничего больше устанавливать. Правда, энтузиасты всё же разработали для ToDo.txt много клиентов, которые делают работу с задачами удобнее. Они, например, подсвечивают даты и приоритетные задачи, автоматически группируют дела по спискам и так далее.
В чём плюсы ToDo.txt
У этого способа записи дел есть ряд преимуществ — вот основные из них:
- Универсальность. Ваш список дел хранится в простом текстовом файле. И его можно открыть на любом устройстве — даже на самом старом и маломощном. Хотя для ToDo.txt создано множество удобных клиентов для всех платформ, вы легко можете обойтись и без них.
- Простота. Чтобы работать с ToDo.txt, достаточно запомнить только четыре символа — скобки для расстановки приоритетов, плюсик для группировки по проектам, @ для присвоения тега и x (буква «икс») для отметки завершённых задач. Никаких навороченных интерфейсов тут нет и быть не может.
- Независимость. Ваши задачи хранятся лично у вас. Текстовый файлик todo.txt не попросит денег, не предложит перейти на премиум‑версию и не сообщит о закрытии в неподходящий момент.
Как составлять задачи в ToDo.txt
Принцип ToDo.txt гласит, что ваши задачи хранятся в текстовом документе todo.txt. Просто записывайте дела в файл (один пункт на одну строчку). Вдобавок вы можете снабжать их тегами и приоритетами для большей информативности. Вот пример самого простого списка, составленного в «Блокноте»:
Написать статью и проверить ссылки.
Сходить в спортзал.
ToDo.txt лучше всего сохранить в Dropbox, Google Drive или любом другом облаке на ваш выбор: так список дел всегда будет под рукой.
Определение приоритетов
В ToDo.txt можно назначать задачам приоритеты. Таким образом вы будете видеть, какие дела особенно важны, а какие нет, не вчитываясь в содержимое пунктов. Чтобы назначить приоритет, поставьте перед пунктом букву A, B, С и так далее, заключив её в скобки. Вот как это будет выглядеть:
(A) Закончить важный проект.
(B) Накормить кота.
(C) Прибраться на кухне.
Большинство клиентов ToDo.txt могут сортировать ваши задачи по приоритетам, поэтому не забывайте проставлять их. Это, в принципе, необязательно, но полезно.
Группировка задач по проектам
Дела стоит группировать по проектам или темам, к которым они относятся: это позволит быстрее в них разбираться. Чтобы отнести задачу к тому или иному проекту, поставьте после неё знак + и сразу же, без пробела, укажите какое‑нибудь слово. Например так:
Закончить статью +Работа.
Заказать фитнес‑трекер +Личное.
Переустановить macOS +Личное.
Прибраться наконец на кухне +Личное +Уборка.
Как стало понятно из последнего пункта, одна и та же задача может относится к двум и более проектам.
Добавление тегов
Иногда одних только проектов недостаточно, чтобы рассортировать ваши задачи. В таком случае используйте теги. Они добавляются символом @. Выглядит это так:
Закончить статью @Лайфхакер.
Переустановить macOS @Mac @Личное.
Выбрать подставку для Mac @Mac @Покупки.
Прибраться на кухне @Уборка.
Их тоже можно добавлять сколько угодно.
Завершение задач
Когда вы выполнили какую‑то задачу, её нужно пометить как завершённую. Чтобы это сделать, поставьте в начале пункта букву x («икс»).
x Закончить статью.
x Заказать фитнес‑трекер.
x Переустановить macOS.
x Прибраться на кухне.
Расстановка сроков
Если у дела есть дедлайн, его можно добавить, написав слово due и дату в формате год — месяц — число (due: ГГГГ‑ММ‑ДД).
Закончить статью due: 2019‑11‑20.
Заказать фитнес‑трекер due: 2019‑12‑02.
Переустановить macOS due: 2019‑11‑25.
Прибраться на кухне due: 2019‑11‑25.
Форматирование списка задач
Само собой, все указанные элементы можно использовать вместе, чтобы одновременно назначать задачам приоритеты, проекты, теги и отмечать законченные дела. В итоге ваш ToDo.txt будет выглядеть примерно так:
x Закончить важный проект +Работа @Лайфхакер due: 2019‑11‑20.
x Покормить кота +Личное @Кот.
Заказать фитнес‑трекер +Покупки @Гаджеты.
Прибраться на кухне +Личное @Уборка @Кухня.
Какие приложения ToDo.txt можно использовать
Приложения ToDo.txt есть для самых разных платформ. Все они мало весят, просты и практически идентичны в плане интерфейса и управления. И отслеживать задачи с помощью этих программ будет удобнее, чем в простом «Блокноте». Вот основные из них.
2. TodoTxtMac
TodoTxtMac позволяет вести списки дел в macOS. Как и полагается программам для Mac, очень удобен и красив. Обладает продвинутой настраиваемой системой фильтров, так что вы не запутаетесь в вашем таск‑листе, даже если там десятки пунктов.
3. DayTasks
Приложение для Ubuntu и основанных на ней систем. Минималистичное и простенькое. Похвастаться настраиваемыми фильтрами, как предыдущие два кандидата, не может, но всё равно достаточно наглядно.
4. Todo.TXT Plus
Todo.TXT Plus — расширение для текстового редактора Atom. С его помощью можно добавлять пункты в список дел не отрываясь от работы с текстом: просто переключаетесь между вкладками с рабочими файлами и todo.txt в одном окне.
5. Simpletask
Simpletask — клиент для Android. Умеет работать с Dropbox и Nextcloud. Помимо приложения, предоставляет также виджет для домашнего экрана. Выделяет приоритеты задач цветами и сортирует дела по датам, контексту или категориям.
Как написано в Манифесте Go Plain я предпочитаю простоту красивостям.
Особенно когда это касается продуктивности.
Списки дел - это основной компонент моей продуктивности. Причем я использую систему GTD уже очень давно и перепробовал много хороших утилит, прежде чем прийти к системе Todo.txt
В данном разделе я рассматриваю ключевые особенности этой системы и существующие утилиты, помогающей в работе с ней, хотя, как вы наверное поняли, иногда достаточно простого текстового редактора :)
Ключевые особенности
- Список дел должен быть важным инструментом управления вашим днем.
- Сохраняйте список задач простым, как для скорости, так и для фокусирования только на важном: на работе, а не на управлении задачами.
- Охватывайте ВСЕ ваши задачи и делайте это не медля.
- Управляйте вашим списком задач, основываясь на приоритетах.
- Всегда держите список задач в актуальном состоянии и обновляйте по мере необходимости. Храните не первоочередные задачи в другом месте. К примеру, планы на будущее и долгосрочные задачи. Это поможет сконцентрироваться только на важном.
Todo.txt
Эту систему разработала Gina Tripani - блогер, подскастер, разработчик и основатель LifeHacker.
Она сама, а также огромное количество разработчиков создали различное ПО для работы с этим форматом. Сейчас есть как утилиты командной строки, так и утилиты с графическим интерфейсом, прекрасно работающие во всех современных операционных системах.
Формат файла
Формат совершенно не сложный, но при этом отвечающий требованиям системы GTD :
Когда у вас появляется свободная минутка и есть возможность позвонить, вы проверяете задачи в контексте “@телефон” и делаете один-два звонка.
Это все реально с todo.txt.
Особенности формата
Ваш Todo.txt это обычный текстовый файл. При этом, чтобы вы могли пользоваться всей мощью типа приоритетов, проектов, контекстов, дат создания и завершения, нужно соблюдать всего нескольких правил.
Первое и наиважнейшее правило гласит: одна строка файла todo.txt это одна задача.
Незавершенные задачи
Красота формата в том, что он неструктурирован. Вы можете создавать задачи так, как вам хочется.
Только используйте специальную нотацию для проектов (+Проект), контекстов (@Контекст) и приоритетов (А).
Правило 1. Если указан приоритет, то такая задача всегда наверху списка.
Приоритет указывается символами A-Z в верхнем регистре в скобках с обязательным последующим пробелом:
К примеру, эти задачи не имеют приоритета:
Правило 2. Дата создания задачи (опциональна) указывается сразу после приоритета с пробелом
Если приоритета нет, то дата создания идет в начале строки в формате ГГГГ-ММ-ДД.
Правило 3. Контексты и проекты указываются в любом месте строки, сразу после приоритета и даты создания.
Проекты начинаются со знака “плюс” и не должны содержать пробелов (так: “+МойСуперПроект”). Контексты начинаются со знака @ и также не должны содержать пробелов (пример: “@ПродуктовыйМагазин”).
К примеру, эта задача входит одновременно в проекты +Семья и +МирЛюбовьИСчастье, а также принадлежит контекстам @iphone и @телефон:
Эта задача не содержит контекста:
А эта не входит ни в один проект:
Завершенные задачи
Правило 1. Завершенные задачи начинаются с символа x
Если задача начинается с символа x (латиницей с маленькой буквы) с последующим пробелом, то она считается завершенной:
Это незавершенные задачи:
мы используем символ “x” чтобы в любом текстовом редакторе автоматическая сортировка отнесла завершенные задачи вниз списка.
Правило 2. Дата завершения идет сразу за символом x после пробела
при этом приоритет задачи теряется. Если вы не хотите этого, используйте приоритет так: pri:A .
Вы уже наверняка слышали про Deno и, скорее всего, прочитали пару-тройку обзоров. В рамках своей статьи я предлагаю испытать Deno на практике, написав приложение для командной строки, попутно размышляя о преимуществах и возможных способах его применения.
Приложение для терминала позволит взглянуть на стандартную библиотеку, познакомиться с вводом и выводом без использования фреймворков.
Todo для Todo
Todo-лист должен уметь:
- добавлять, редактировать, удалять и отмечать задачи;
- выводить список задач;
- сохранять состояние;
- работать в интерактивном режиме;
- устанавливаться на компьютер.
Аргументы командной строки
Практически любая консольная утилита управляется с помощью передаваемых при запуске аргументов. В Deno они лежат массивом в Deno.args . А, к примеру, в Node мы бы использовали process.argv , в котором помимо аргументов находятся строки node и путь к скрипту .
Итак, начнём…
Реализуем первую команду – вывод информации.
Создадим главный файл нашего приложения – todo.ts . Лучше назвать файл осмысленно, так как в будущем он понадобится нам для запуска и установки.
Далее создадим файл /src/ui.ts , в котором будем хранить элементы «пользовательского интерфейса». Добавим константу help , содержащую информационный текст.
В todo.ts напишем свитч для обработки команд и выведем справку с помощью console.log() .
Проверим работу команды:
deno run todo.ts help
Разрешим запуск файла:
Теперь для вывода справки можно использовать:
Стандартный вывод
В листинге выше мы использовали console.log() , но, мне кажется, идеологически log – это инструмент разработчика, и реализовать с его помощью полноценный интерфейс не получится.
В Deno за стандартный вывод отвечает Deno.stdout , за ввод, соответственно, Deno.stdin .
И stdin , и stdout типизированы пересечением интерфейсов и объекта, содержащего rid , – идентификатор ресурса.
Более подробно рассмотрим stdout и выведем «Hello world!» в консоль.
Запустим скрипт hello.ts:
deno run hello.ts
На экране появляется наш «Hello world!».
Функция Deno.stdout.write принимает на вход массив байтов и возвращает количество записанных байтов. Deno.stdout.writeSync работает точно так же, только синхронно.
Строку необходимо предварительно закодировать с помощью объекта TextEncoder .
Можно не создавать TextEncoder , а импортировать функцию encode из стандартной библиотеки, которая делает то же самое, точно так же.
Воспользуемся полученными знаниями и создадим файл terminal.ts с двумя функциями print и printLines . Последняя выводит строку и переводит каретку.
Заменим console.log на printLines .
Чтение и запись файла
В Deno для чтения файла используется функция Deno.readFile и её синхронный аналог Deno.readFileSync .
Для записи в файл соответственно используются Deno.writeFile и Deno.writeFileSync .
Создадим интерфейс Task в src/Task.ts
и класс Todo в файле src/Todo.ts .
Как можно заметить, для чтения и записи данных я использовал специальные функции из стандартной библиотеки для работы с json-файлами.
Добавление задачи в список
Для реализации команды todo add "implement add command" добавляем в класс Todo метод add .
Так как мы добавили чтение и запись в файл, необходимо добавить права --allow-read --allow-write .
Вывод списка задач
В файл src/ui.ts добавляем функцию для форматирования списка задач.
Добавляем метод list в класс Todo и команду ls в свитч.
Таким же образом добавляем остальные методы и команды.
Реализованные команды отвечают первым трём пунктам наших требований.
Работа в интерактивном режиме
Интерактивный режим подразумевает, что программа общается с пользователем, не закрываясь после выполнения команды.
Создадим в свитче кейс по умолчанию,
а в классе Todo асинхронный метод interactive .
Метод interactive содержит бесконечный цикл, в котором выводится пользовательский интерфейс, ожидается ответ пользователя и, в зависимости от нажатой клавиши, совершается действие.
Для управления курсором в интерактивном режиме необходимо импортировать функции из библиотеки cursor .
Добавляем права для доступа к энвайронменту, так как библиотека проверяет, в каком окружении программа запущена --allow-env .
В файле terminal.ts создадим функцию printInteractive .
Она выводит текст на экран и возвращает курсор в начало. При следующем вызове всё стирается и печатается заново. Для того чтобы квадрат курсора не мешался, его можно скрыть функцией hideCursor .
Добавим в файл ui.ts константу toolbar , в которой будут перечислены доступные действия.
В функцию formatTaskList добавляем параметр showToolbar :
В зависимости от флага showToolbar мы будем показывать или скрывать подсказку.
Дорабатываем метод list :
Вывод реализован, перейдём к вводу.
Стандартный ввод
Интерфейс ввода, аналогично выводу работает с Uint8Array , поэтому для декодирования используется TextDecoder .
Создаём буфер размером, например, в 1024 байта. Передаём его в функцию Deno.stdin.read и ждём пока пользователь закончит ввод. Как только будет нажата клавиша enter, функция наполнит буфер и вернёт количество прочитанных байтов. Стоит отметить, что перевод строки «\n» будет в конце прочитанной последовательности. Обрезаем лишнее и декодируем полученную строку. Синхронная функция Deno.stdin.readSync работает аналогично.
Обработка клавиш
Для того чтобы получить информацию о нажатии клавиш, необходимо воспользоваться функцией Deno.setRaw . На текущий момент она доступна под флагом --unstable . setRaw и позволяет получить символы по одному, без обработки. В функцию необходимо передать идентификатор ресурса и флаг. Как только мы воспользовались этим режимом, нажатие CTRL+C перестаёт приводить к закрытию программы, и это поведение нужно реализовать самостоятельно.
В файл terminal.ts добавляем функцию readKeypress :
В метод interactive добавляем возможность выйти из приложения.
Не отходя далеко от ввода текста, реализуем добавление задачи в интерактивном режиме.
В файл terminal.ts добавляем 2 функции:
Функция readLine позволяет прочитать одну строку, исключая последний символ, – перевод строки.
Функция prompt очищает экран, печатает вопрос, читает ввод пользователя, а затем перемещает курсор в начало, аналогично функции printInteractive .
В метод interactive добавляем обработку клавиши «а»:
Перемещение по списку задач
Добавим поддержку стрелок клавиатуры. Для того чтобы понимать, какой элемент сейчас выбран, добавляем свойство currentIndex в класс Todo :
А в функции formatTaskList активную строку выделяем жирным и красим в жёлтый:
В Todo создаём методы, которые будут изменять currentIndex :
В метод interactive добавляем обработку стрелок:
Аналогичным образом добавляем возможность отмечать выполненные задачи:
И, наконец, редактирование:
Проверяем работу приложения:
Установка
Для того что бы наша программа была доступна в терминале, воспользуемся замечательной командой deno install .
Установка, так же как и запуск, может производиться по URL.
Имя файла будет использовано как название программы по умолчанию, но с помощью опции -n/--name можно задать другое.
После чего todo можно использовать в командной строке.
Импорт зависимостей
Последняя фича, которую мы использовали, но ещё не обсудили – импорт зависимостей. В отличие от Node, в Deno подход к импортированию несколько иной: предполагается, что зависимости импортируются по URL. В этом подходе, на мой взгляд, есть как достоинства, так и недостатки.
При разработке однофайловых скриптов, возможность импортировать по URL является огромным плюсом, но как только мы разработаем что-то большее, уследить за версиями станет труднее.
Для управления сложностью существует два основных решения: файл dep.ts и файл с картой импортов.
В первом случае мы делаем реэкспорт библиотек, собирая все импорты в одном месте.
Во втором случае в JSON файле мы пишем alias:
При запуске программы указываем путь до карты и флаг --unstable, так как фича не готова для продакшена.
Резюме
В целом, работой Deno я доволен. Новый инструмент позволяет не тратить время на настройку окружения и сразу приступать к написанию кода, что оказалось очень удобно.
Таким образом, я могу рекомендовать Deno для написания небольших скриптов и программ, упрощающих жизнь разработчика, но пока воздержался бы от использования Deno для создания продакшен-приложений.
Читайте также: