又一个 Deno 包管理工具:dpm

DPM(Deno Package Manager)是一个 npm 风格的包管理工具,用于管理 Deno 的模块。

waht ???

作者开发 DPM 的意图是,很多 js 开发者习惯了 npm/nodejs 的包管理方式,因此开发了这个工具。

所有的 Deno 模块使用 deps.json 管理,并且在项目根目录生成 deno_modules/import_map.json 文件。引用模块的方式和 Node.js 类似:

import { Houston } from 'houston/mod.ts'

安装

使用 deno install 命令安装 cli 工具:

deno install --allow-net --allow-read --allow-write --allow-run https://deno.land/x/dpm/mod.ts

使用

安装完成之后就可以使用 dpm 了。

初始化项目:

dpm init

此命令会创建一个新项目,默认生成了 deps.jsondeno_modules/

安装模块:

dpm i <module_name>

用法和 npm 一致。

2赞

我觉得不错 :+1:

我觉得deno_modules大可不必

确实,里面只有一个文件 deno_modules/import_map.json

有一个dep 的cli工具,有同工之妙

这不是在开倒车了吗

也不算是开倒车,毕竟 import-maps 是 WICG 的标准。只是他的方式不够优雅

希望deno的包管理也能早日形成一个规范,大家一起用,不想像go一样gopath到mod的换血。

安装的模块也放在deno_modules里面了,估计是仿照node_modules的做法吧,所以名字也是类似的,这样是不是也要加个lock文件锁版本?

deno 一直有锁。安装的包没有放在 deno_modules 里面,deno_modules 里面只有一个 import_maps 文件。只管理了引入的路径,没有提前下载 deno 包。

我刚试了,执行 dpm i oak 之后,deno_modules 里面有一个 oak 的源码呀,和 node_modules 一样

??? 这,开倒车了?

1赞