1

別の json スキーマ バリデーター ( AJV )を使用しようとしていますが、提供されているサンプル コードは、このような単純な Java スクリプトを使用すると JSFiddle で正常に動作します。

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 テスト - Dojo 1.10.4 を使用した JSFiddle

このエラーが発生します

fiddle.jshell.net/pbq2yjxy/18/show/:50 Uncaught ReferenceError: Ajv が定義されていません

AJV ライブラリーを Dojo で使用するにはどうすればよいですか?

4

1 に答える 1

0

グローバルな require は browserify によって提供され、Dojo と競合します。解決策は、Dojo の前に Ajv をロードすることです。ここで解決されます: https://github.com/epoberezkin/ajv/issues/234

于 2016-10-20T20:58:11.457 に答える