0
我該如何擺脫編譯時打字錯誤?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())
}
}
}
應用程序/服務/ jsonSchemaValidation.service.ts(8,27):錯誤TS2339:房產 '默認' 不會對類型「{(選項?:選項)存在:Ajv;新(選項?:選項):Ajv; }」。 npm ERR!測試失敗。參見上面的更多細節。
JavaScript代碼運行時沒有錯誤,但打字稿抱怨,它阻止了我能夠運行我的單元測試。
這與打字沒有關係。由於導入問題,我正在通過調用default
來使用Ajv庫。有關詳情,請參閱my other question。
我覺得有一點小竅門,擺脫這種打字稿的編譯時間錯誤不在嗎?
您指向任何理由在你的systemjs配置裏的'dist/ajv.min.js'文件而不是'lib/ajv.js'?這樣做和一個簡單的'從'ajv''導入Ajv應該工作。 – Lee