Electron + Angular + Math js ошибка при использовании оценки: невозможно преобразовать 2 в тип "undefined"; допустимые типы вывода: число, BigNumber, фракция - PullRequest
0 голосов
/ 29 февраля 2020

Я использую 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. Есть предложения?

...