В вашем бэкэнде Node require
может использоваться для импорта файлов JSON, как если бы это был обычный файл JavaScript:
// data.json
{ "hello": "world" }
// main.js
const data = require('./data.json');
console.log(data); // { hello: 'world' }
Для вашего углового интерфейса это зависит от того, как вы строите свой пакет,но обычно использование import data from './data.json'
должно дать тот же результат (как сказано в этот вопрос ).
Теперь возникает вопрос: что вы можете сделать, если ваши схемы находятся в нескольких JSONфайлы?
Собственно, ни require
, ни import
не требуют времени для разрешения свойств $ref
и $id
и для объединения всего в один объект JS.Кажется, нет простого способа разобрать все, к счастью, пакет NPM json-schema-ref-parser делает именно это!Это может быть использовано как таковое в вашем случае использования:
// foo.schema.json
{
"type": "object",
"properties": {
"bar": {
"$ref": "./bar.schema.json"
}
}
}
// bar.schema.json
{
"type": "number"
}
// main.js
const parser = require('json-schema-ref-parser');
parser.dereference('foo.schema.json', (err, schema) => console.log(schema));
// logs: { type: 'object', properties: { bar: { type: 'number' } } }