2016-01-13 58 views
2

我在我的Chrome應用程序中使用AJV JSON模式驗證程序。 但我得到的錯誤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應用程序中嗎?

回答

2

我最近實施的預編譯模式到獨立的模塊,ajv-cli的選項。通過這種方式,您可以完全避免使用代碼生成和函數構造函數,因此您只需遵守CSP。

雖然有limitations什麼可以Ajv本身,大多數的使用情況都覆蓋進行比較。