Проблема с jsPDF: неперехваченный (в обещании) Ошибка: Не удалось загрузить dompurify: Ошибка: не удается найти модуль ‘dompurify’

#javascript #jspdf

#javascript #jspdf — файл #jspdf

Вопрос:

Я использую npm и parcel для создания веб-приложения. файлы dist копируются на сервер apache2 (поэтому не работают под узловым сервером), и при попытке сгенерировать PDF с помощью jsPDF я ‘получаю эту ошибку:

Неперехваченный (в обещании) Ошибка: Не удалось загрузить dompurify: Ошибка: не удается найти модуль ‘dompurify’

Я думаю, что это проблема с «sPDF затем динамически загружает их (т. Е. dompurify и html2canvas), когда требуется (используя соответствующий формат модуля, например, динамический импорт)». но я не знаю, как это обойти.

Я установил: npm install —save jspdf dompurify html2canvas

в моем JS я «импортирую jsPDF из ‘jspdf’;

     // download PDF doc
    let filename = 'pdf-'   $('#fh-date').val()   '-'
          $('#fh-num').val()   '.pdf';
    let doc = new jsPDF();
    let specialElementHandlers = {
      '#editor': function (element, renderer) {
        return true;
      }
    };

    doc.html($('#fh-tmp').html(), {
        'width': 100, // max width of content of PDF
        'elementHandlers': specialElementHandlers,
        callback: function (doc) {
            doc.save(filename);
        },
    });
  

Как мне решить эту проблему. Спасибо?

Ответ №1:

Я только что столкнулся с этой проблемой в своем проекте vue, который я исправил, обновив с помощью «npm update».

Комментарии:

1. Спасибо, я попробую и посмотрю, решит ли это проблему для меня. В итоге я перенес это поколение PDF на сервер, чтобы упростить его и избежать тех же проблем с исходным кодом, которые портили canvas, но у меня есть другие страницы, которые я все еще хотел бы сгенерировать в браузере, так что, надеюсь, это решит проблему для них.