前言
Deno 是一个新兴的 JavaScript 和 TypeScript 运行环境,以安全和简单为设计理念,而其也不同于传统的 Node.js,它自带标准库,同时更加严格地控制了运行环境,对于管理依赖关系有着简便而又轻松的方式。
在本文中,我们将介绍 Deno 中的依赖管理方法,包括如何使用默认的依赖管理方式,以及如何使用外部依赖管理工具管理依赖关系。
默认依赖管理
在 Deno 中,可以使用 ES 模块(import/export)来引用 JavaScript 或 TypeScript 模块,这些模块可以是本地文件或者是远程的 URI。
例如,我们可以从远程的 URI 导入一个 Lodash 模块:
import _ from "https://cdn.jsdelivr.net/npm/lodash-es";
Deno 还提供了一个默认的缓存机制,以避免每次导入相同的模块时重复下载它们,从而造成资源浪费,缓存可以通过下面的命令进行清除:
deno cache --reload
这个缓存机制已经足够实现基本的依赖关系,但是它还有一些限制,比如无法确定依赖的版本,无法有效地管理不同模块之间的版本冲突等,那么我们需要使用外部的依赖管理工具。
外部依赖管理
Deno 中的默认依赖管理机制可能还不足以满足我们在实际项目中的需求,这时我们可以使用外部依赖管理工具来处理依赖问题。
Velociraptor
Velociraptor 是一个轻量级的 Deno 任务管理器和进程管理器,它可以轻松地设置和运行命令、脚本和进程。
安装 V:
deno install -qAf --unstable https://deno.land/x/velociraptor/v.ts
在项目目录下创建一个名为 .velociraptor.yaml
的文件,并添加如下内容:
scripts: dev: deno run --allow-net --allow-read app.ts
然后就可以在终端中使用命令:
v dev
来启动项目,并且在使用 V 启动应用程序的时候,速度会更快、更可靠,同时保持配置数据的本地化。当然 Velociraptor 不仅仅是用来启动 Deno,它支持更多能在前端开发中调用的普通命令,例如:执行脚本、开启代理服务器,运行 Docker 等。
Deno Third Party
Deno Third Party 是一个 Deno Third Party 是一个基于 Deno 的第三方模块管理工具,适用于 JavaScript、TypeScript 等任何模块。而且其功能和 NPM 类似,不过其基于 Deno 配置文件实现,更加贴近 Deno。
安装 Deno Third Party:
deno install -qAf --no-check --unstable https://deno.land/x/dtp/dtp.ts
在项目目录下使用如下命令安装、更新或卸载模块:
dtp add <package>[@<version> ...] dtp update <package>[@<range> ...] dtp remove <package ...>
例如,我们可以使用 DTP 安装 Express 模块,然后在代码中使用:
dtp add express
import express from "https://cdn.skypack.dev/express@4.17.1";
使用 DTP 管理模块时,它会自动生成名为 dtp.json 的配置文件,指定需要安装的模块和版本号等信息。 卸载模块后,dtp.json 中也自动删除了相应的配置。DTP 这个工具其实就是在原生的 deno run 命令基础上扩展了一些通用功能,对于管理 Deno 中的依赖关系来说十分实用。
总结
在本文中,我们介绍了 Deno 中的依赖管理机制,它包括了默认的 ES 模块机制和缓存机制,以及使用 Velociraptor 和 Deno Third Party 等外部工具来管理依赖关系。
在实际项目中,我们应该根据我们的具体情况来选择合适的依赖管理工具。我相信,本文所述的内容对于前端工程师将会有很大的实用意义,希望我们可以学习和使用这样的工具,提高开发效率,改善代码质量。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64a8fd0e48841e989455024a