我正在尝试使用另一个json模式验证器(AJV),并且当我仅使用普通的Java脚本时,提供的示例代码在JSFiddle中可以正常工作

AJV test - JSFiddle with no library (pure javascript)

var ajv = Ajv({allErrors: true});

var schema = {
  "properties": {
    "foo": { "type": "string" },
    "bar": { "type": "number", "maximum": 3 }
  }
};

var validate = ajv.compile(schema);

test({"foo": "abc", "bar": 2});
test({"foo": 2, "bar": 4});

function test(data) {
  var valid = validate(data);
  if (valid) console.log('Valid!');
  else console.log('Invalid: ' + ajv.errorsText(validate.errors));
}


但是当我尝试与Dojo结合使用与上述相同的完全相同的代码时

AJV test - JSFiddle using Dojo 1.10.4

我得到这个错误


  fiddle.jshell.net/pbq2yjxy/18/show/:50未捕获的ReferenceError:未定义Ajv


如何在Dojo中使用AJV库?

最佳答案

全局需求由browserify提供,它与Dojo冲突。
解决方案是在Dojo之前加载Ajv。
在这里解决:https://github.com/epoberezkin/ajv/issues/234

关于javascript - 使用Dojo时无法识别外部库(AJV),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38402021/

10-12 01:09