与外部代码的连接

就像浏览器中的 JavaScript 一样,Deno 可以从 URL 直接导入代码库

在导入代码库的时候,不需要提供 --allow-net 权限,Deno 运行时有着特殊权限来下载模块并缓存到磁盘

如何导入特定版本?

在 URL 中指定版本

https://unpkg.com/liltest@0.0.5/dist/liltest.js

到处导入 URL 容易出现错误

在项目的每个文件导入 URL 是很麻烦,并且容易出错的事情

解决方案是在一个中心化的 deps.ts 中重新导出所依赖的外部库,它与 Node 的 package.json 有相同的作用

实例:

// deps.ts
export {
    assert,
    assertEquals,
    assertStrContains,
} from "https://deno.land/std/testing/asserts.ts";

// XX.ts 
import  { assertEquals, runTests, test } from "./deps.ts";

这种设计避免了由包管理软件、集中的代码存储库和多余的文件格式所产生的复杂性

依赖宕机的解决方案

这种直接使用 URL 导入远程代码库的方法虽然在开发环境用的很爽,但是在生产环境很脆弱,生产级软件总是应该打包(vendor)所有依赖

最后更新于