Deno 的第三方库有 package.json?
Third party libraries of Deno having package.json?
如果我错了请纠正我,但 Deno 不应该理解 package.json
或 node_modules
的概念,如果是这样的话,为什么会有几个第三方库,例如 lodash, dayjs 他们的回购中还有 package.json
吗?
我可以在这里提供一些历史背景; deno.land/x
注册表的第一个版本通过将存储库列表直接保存在 GitHub 存储库中来工作,任何人都可以提交 PR 以将任何其他 public 存储库添加到该列表中,并且复制到 deno.land/x
。随着站点规模的扩大以及越来越多的人想要创建模块,该模型已切换为使用必须由存储库所有者设置的 GitHub webhooks。
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 中完全损坏(至少没有导入映射),我不会感到惊讶。
如果我错了请纠正我,但 Deno 不应该理解 package.json
或 node_modules
的概念,如果是这样的话,为什么会有几个第三方库,例如 lodash, dayjs 他们的回购中还有 package.json
吗?
我可以在这里提供一些历史背景; deno.land/x
注册表的第一个版本通过将存储库列表直接保存在 GitHub 存储库中来工作,任何人都可以提交 PR 以将任何其他 public 存储库添加到该列表中,并且复制到 deno.land/x
。随着站点规模的扩大以及越来越多的人想要创建模块,该模型已切换为使用必须由存储库所有者设置的 GitHub webhooks。
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 中完全损坏(至少没有导入映射),我不会感到惊讶。