简介
@apidevtools/json-schema-ref-parser
是一个能够解析 JSON SCHEMA 并将其引用的其他文件合并到同一对象的 npm 包。它是 JSON SCHEMA 工具包中比较完整和灵活的解析器之一,同时兼容 IE 11。
安装
在命令行中执行以下命令即可安装:
--- ------- -----------------------------------
使用
假设有一个名为 test.json
的 JSON SCHEMA 文件,在脚本中使用该解析器进行合并引用文件后,可以这样使用:
----- - ----- - - ----------------------------------------------- ----- -------- - ----- -------------------
使用 await
可以将解析过程异步执行。在解析完成之后,mySchema
就是一个复合后的 JSON SCHEMA 文件。
处理引用
使用 @apidevtools/json-schema-ref-parser
对 JSON SCHEMA 进行解析时,其包含的 $ref
引用将被自动处理。例如,对以下文件进行解析:
- ------ --------------------------------- ------- --------- ------------- - --------- - ------- ------------- - - -
那么 person.json
文件也将被自动解析并合并到相应位置以便于后续使用。
给引用文件传递参数
有时候 JSONSCHEMA 中的引用在传递时需要提供一些参数。使用该解析器可以通过在 JSON SCHEMA 中自定义预留字段的方式来传递这些参数。例如:
- ------ --------------------------------- ------- --------- ------------- - --------- - ------- --------- ----------------------- ------ ------------- - ------- - ------- -------------------- -- ---------- - ------- ----------------------- - - -- ----------------- - ------- -------- -------- - ------- --------- ----------------------- ------ ------------- - ------- - ------- -------------------- -- ---------- - ------- ----------------------- - - - - -- -------------- - ------- - ------- ------------------------- -------------------- ----------- -- ---------- - ------- ------------------------- -------------------- ------------ - - -
其中 "x-codemirror-mode" 是预留字段,它将作为一个参数传递给被引用的文件。
示例代码
----- - ----- - - ----------------------------------------------- ----- ------ - - ------ ------------------------------ ------- --------- ------------- - ------- - ------- --------- ---------- ----- ---- -- ------ - ------- ---------- ---------- --- ---------- --- ---------- --- -- -------- - ------- --------- --------- ------- - -- ----------- -------- ------ -- ----- ----------- - - ------ -------------------------------- ------- -------- -------- - ------- ---------- - -- -- ----- ------------------------------------ -- - -------------------------- ------------ -- - ------------------- ---
总结
@apidevtools/json-schema-ref-parser
提供了一种便捷的 JSON SCHEMA 解析方案,非常适用于需要将多个 JSON SCHEMA 进行合并的应用场景。在实际开发过程中,它为前端工程师提供了更加简便的方案来解析并处理 JSON SCHEMA 文件,从而提高代码的可维护性和规范性,也为大型项目中的代码分析和重构提供了必要的工具支持。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedb0c5b5cbfe1ea06110e5