Я использую mathjs
в моем проекте Electron / Angular, и когда я загружаю приложение в веб-браузер, я могу нормально запускать эти функции, но когда я загружаю приложение в Electron , Я получаю эту ошибку:
polyfills.3de9fb4783b8e416d08e.js:1 ERROR Error: Uncaught (in promise): TypeError: Cannot convert 2 to type "undefined"; valid output types are number, BigNumber, Fraction
TypeError: Cannot convert 2 to type "undefined"; valid output types are number, BigNumber, Fraction
Вот мой упрощенный код:
import * as mathjs from 'mathjs';
constructor() {
// Create scope
let scope = {}
// Convert scope variables into numbers and then evaluate
mathjs.evaluate("BED = 2", scope)
mathjs.evaluate("BED5 = 5", scope)
mathjs.evaluate("BED25 = BED + BED5 / 3", scope)
}
Есть ли что-то электронное, указывающее c, что мне здесь не хватает? Я также получаю это предупреждение в инструментах разработчика Electron:
Electron Security Warning (Insecure Content-Security-Policy) This renderer process has either no Content Security
Policy set or a policy with "unsafe-eval" enabled. This exposes users of
this app to unnecessary security risks.
Но даже если я добавлю <meta http-equiv="Content-Security-Policy" content="script-src 'self';">
к индексу. html файла моего приложения, я получу ошибку:
Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-Dkdn+4XdMuaZzwD+yM3K5fSacRU0kM/hxZOzZTjP5J0='), or a nonce ('nonce-...') is required to enable inline execution.
Так что я не совсем уверен, что делать, потому что мне нужно использовать функцию evaluate
, предоставляемую из библиотеки math js. Есть предложения?