gpt4 book ai didi

javascript - typescript 编译时错误

转载 作者:行者123 更新时间:2023-11-28 18:08:34 25 4
gpt4 key购买 nike

如何消除这个编译时 typescript 错误?

import * as Ajv from "ajv";

export class ValidateJsonService {
validateJson(json, schema) {
let ajv = new Ajv.default({ allErrors: true });
if (!ajv.validate(schema, json)) {
throw new Error("JSON does not conform to schema: " + ajv.errorsText())
}
}
}

app/services/jsonSchemaValidation.service.ts(8,27): error TS2339: Property 'default' does not exist on type '{ (options?: Options): Ajv; new (options?: Options): Ajv; }'. npm ERR! Test failed. See above for more details.

JavaScript 代码运行没有错误,但 typescript 提示,它阻止我运行我的单元测试。

这与打字无关。由于导入问题,我通过调用 default 使用 Ajv 库。有关原因的详细信息,请参阅my other question .

我认为有一些小技巧可以消除这个 typescript 编译时错误,不是吗?

最佳答案

.default 符合 ES6 标准,因此您应该进行简单的导入:

import Ajv from "ajv";

否则作为旧版导入:

import Ajv = require("ajv");

然后直接使用:new Ajv({ allErrors: true });

关于javascript - typescript 编译时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42126601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com