使用 Dojo 时无法识别外部库 (AJV)
External library (AJV) is not recognized when using Dojo
我正在尝试使用另一个 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 Uncaught ReferenceError: Ajv is not defined
如何将 AJV 库与 Dojo 一起使用?
全局需求由browserify提供,与Dojo冲突。
解决方案是在 Dojo 之前加载 Ajv。
在这里解决了:https://github.com/epoberezkin/ajv/issues/234
我正在尝试使用另一个 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 Uncaught ReferenceError: Ajv is not defined
如何将 AJV 库与 Dojo 一起使用?
全局需求由browserify提供,与Dojo冲突。 解决方案是在 Dojo 之前加载 Ajv。 在这里解决了:https://github.com/epoberezkin/ajv/issues/234