Внешняя библиотека (AJV) не распознается при использовании Dojo

Я пытаюсь использовать другой валидатор схемы json (AJV), и предоставленный пример кода отлично работает в JSFiddle, когда Я использую простой java-скрипт, подобный этому

Тест AJV — JSFiddle без библиотеки (чистый 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 — JSFiddle с использованием Dojo 1.10.4

я получаю эту ошибку

fiddle.jshell.net/pbq2yjxy/18/show/:50 Uncaught ReferenceError: Ajv не определен

Как я могу использовать библиотеку AJV с Dojo?


person erotavlas    schedule 15.07.2016    source источник
comment
Обе скрипки имеют одинаковый код   -  person Castro Roy    schedule 16.07.2016
comment
Похоже, у AJV есть собственная версия RequireJS. который может конфликтовать с додзё   -  person T Kambi    schedule 17.07.2016


Ответы (1)


Глобальный запрос предоставляется браузером, он конфликтует с Dojo. Решение состоит в том, чтобы загрузить Ajv перед Dojo. Это решено здесь: https://github.com/epoberezkin/ajv/issues/234

person esp    schedule 20.10.2016