如果我错了请纠正我,但Deno不应该理解package.json
和node_modules
的概念,如果是这样的话,为什么有几个第三方库,如lodash, dayjs仍然在他们的仓库中有package.json
?
我可以提供一些历史背景;的第一个版本deno.land/x
注册工作通过一个存储库列表,一直直接在GitHub库,任何人都可以提交一个公关添加任何其他公共存储库列表和复制到deno.land/x
。随着网站规模的扩大,越来越多的人想要创建模块,该模型被切换为使用GitHub webhook,而GitHub webhook必须由存储库所有者设置。
lodash
和dayjs
是社区成员在deno.land/x
的早期提交的,所以repo的文件被1:1复制到deno.land/x
,这就是为什么你在那里看到package.json
文件——它实际上是与lodash
相同的存储库内容。
虽然该文件可以通过浏览器或curl通过deno.land/x
访问,但Deno永远不会真正访问它;它只会查看你的入口点,并从那里遍历依赖关系图,只查看JS/TS文件。事实上,如果deno.land/x
上可用的lodash
和dayjs
版本在Deno中完全被破坏(至少没有导入映射),我不会感到惊讶。