javascript - Chrome 打包应用程序中的 JSON 模式验证

标签 javascript google-chrome-app jsonschema ajv

我打算使用 AJV我的 chrome 应用程序中的 JSON 模式验证器。 但是我收到了错误

EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "default-src 'self' blob: filesystem: chrome-extension-resource:".

它发生在执行期间

var validate = ajv.compile(schema);

据我了解,AJV 使用动态代码生成和 eval() 来验证 JSON CSP 禁止的.

有没有办法在 Chrome 应用中使用 AJV?

或者是否有一些其他的 JSON 模式验证器可以在 chrome 应用程序中使用?

最佳答案

我最近实现了使用 ajv-cli 将模式预编译为独立模块的选项。 .通过这种方式,您可以完全避免使用代码生成和函数构造函数,因此您只需遵守您的 CSP。

虽然有limitations与 Ajv 本身可以完成的工作相比,涵盖了大多数用例。

关于javascript - Chrome 打包应用程序中的 JSON 模式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34771584/

相关文章:

javascript - 从多线程 C++ 插件回调 NodeJS Javascript 函数

javascript - 如何通过拖放重新排序 4 个 div(使用 angular2/4)?

javascript - 如何在没有提示的情况下在 Google Chrome App 中写入文件?

json - JSONSchema 中additionalProperties 字段的不同类型

javascript - Android 在动态添加类时与一般兄弟选择器的奇怪行为

google-chrome - 如何让复选框 "Allow access to file URLs"显示在我的应用程序旁边?我在 list 中有文件写入权限

javascript - 谷歌浏览器扩展 : is it possible to get console output (js errors, console.log 等)

python json schema返回所有验证错误

oneOf 对象的 Json Schema 示例

javascript - 制作一个 anchor 切换功能,单击时将数据附加到文本区域,重新单击时删除