您可以选择使用非 deno 模块。
最简单的方法是使用像esm.sh这样的服务并将其导入,如下所示:
import Ajv from 'https://esm.sh/ajv@8.6.1';
import addFormats from 'https://esm.sh/ajv-formats@2.1.0';
const ajv = new Ajv({allErrors: true});
addFormats(ajv);
Run Code Online (Sandbox Code Playgroud)
esm.sh甚至提供 .d.ts 定义(如果可用),因此您也可以导入类型。
import Ajv, {ValidateFunction} from 'https://esm.sh/ajv@8.6.1';
const validate: ValidateFunction = new Ajv().compile(schema);
Run Code Online (Sandbox Code Playgroud)
在某些情况下,您甚至可以直接从 git 导入原始 typescript 文件。但Ajv直接导入 json 文件,deno 不支持 atm。