Uncaught TypeError: Невозможно прочитать свойство 'parse' undefined, когда требуется библиотека - PullRequest
0 голосов
/ 24 мая 2018

Я использую angular 5, я пытаюсь использовать файл javascript, содержащий некоторые методы, которые используют библиотеку из documentvieware.Я закончил с использованием JavaScript, так как я не мог использовать его на машинописи.Итак, у меня есть следующий код:

const { docuVieware } = require('../../../docuvieware/docuvieware-min');

module.exports = { loadFile: 
    function loadFile(file) {
    if (file != null) {
        var params = {
            Value: file,
            Example: false
        };
        docuVieware.DocuViewareAPI.PostCustomServerAction("DocuVieware1", 
 true, "loadFile", params, function(result){ console.log("result: " + 
 JSON.stringify(result)); });
    }
  }
};

Но всякий раз, когда я открываю свой браузер, я получаю следующую ошибку:

> docuvieware-min.js:166 Uncaught TypeError: Cannot read property 'parse' of undefined
    at eval (docuvieware-min.js:166)
    at eval (docuvieware-min.js:20)
    at Object.eval (docuvieware-min.js:20)
    at eval (docuvieware-min.js:1128)
    at Object../src/docuvieware/docuvieware-min.js (main.bundle.js:208)
    at __webpack_require__ (inline.bundle.js:55)
    at eval (docuvieware.js:1)
    at Object../src/app/components/detalleExpediente/docuvieware.js (main.bundle.js:128)
    at __webpack_require__ (inline.bundle.js:55)
    at eval (detalleExpediente.component.ts:7)

Итак, если я комментирую требуемую строку, ошибка исчезает, но янужно это.Есть идеи, почему я получаю эту ошибку?Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 24 мая 2018

Вы получаете эту ошибку, потому что в файле docuvieware-min.js в строке 166 функция eval не может прочитать свойство parse объекта, который его не содержит.

Более кратко: Javascript ожидает

object = {
  parse: function() {...}
};

И вы предоставляете

object = undefined;

Это то, что вы можете ожидать, когда пытаетесь импортировать минимизированные файлы в ваш не минимизированный проект,

Чтобы использовать его в машинописи, вам нужно импортировать файл определений.Если вы не знаете, как это сделать, вам нужно объявить свой файл как скрипт в файле angular-cli.json.Как только это будет сделано, объект будет объявлен глобальным, что дает вам право использовать его с

declare var docuVieware: any;

docuVieware.DocuViewareAPI.PostCustomServerAction(...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...