Сторонние библиотеки Deno, имеющие пакет.json?

#javascript #deno

Вопрос:

Поправьте меня , если я ошибаюсь, но Дено не должен понимать концепцию package.json nor node_modules , если это так, то почему в их репо все еще есть пара сторонних библиотек, таких как lodash, dayjs package.json ?

Комментарии:

1. Я думаю, что ваш вопрос немного неполон. С чем это связано lodash или dayjs должно быть связано deno ?

2. Я думаю, это потому, что дено изобрел незадолго до прошлой пары мотыльков. Эти библиотеки были созданы до этого. Я думаю, что именно по этой причине.

3. @AgilAtakishiyev: Если вы нажмете на обе ссылки выше, вы будете перенаправлены в deno. land xxx, который, как я предполагаю, является вариантом deno обоих вышеупомянутых пакетов?

4. О, теперь я понимаю, это потому, что у этих пакетов есть некоторые сторонние зависимости, deno просто отправляет эти пакеты в собранной версии, и для создания этих пакетов у них должны быть свои собственные зависимости.

Ответ №1:

Я могу привести здесь некоторый исторический контекст; Первая версия deno.land/x реестра работала, имея список репозиториев, который хранился непосредственно в репозитории GitHub, любой мог отправить запрос на добавление любого другого общедоступного репозитория в этот список и скопировать deno.land/x его . По мере того как сайт масштабировался и все больше и больше людей хотели создавать модули, модель была переключена на использование веб-сайтов GitHub, которые вместо этого должны быть настроены владельцем репозитория.

lodash и dayjs мы отправили его в первые дни deno.land/x членами сообщества, поэтому файлы репозитория были скопированы в соотношении 1:1 deno.land/x , и именно поэтому вы видите package.json файл там-это буквально то же содержимое репозитория, lodash что и .

В то время как файл доступен deno.land/x через браузер или curl, Deno никогда на самом деле не достанет его; Он просто посмотрит на вашу точку входа и пройдется по графику зависимостей оттуда, просматривая только файлы JS/TS. На самом деле я бы не удивился, если бы версии lodash и dayjs доступные на deno.land/x были полностью сломаны в Deno (по крайней мере, без карт импорта).

Комментарии:

1. Есть ли примеры того, как использовать карты импорта для использования этих deno.land/x библиотек?