#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
библиотек?