Невозможно использовать ни требование, ни импорт в расширении браузера popup.js

Я делаю расширение для браузера, которое получает код div и преобразует его в html. Я пытался сделать это с помощью jspdf, html2pdf, но ни один из них не работал идеально.

Поэтому я использовал html-to-pdfmake, но не могу импортировать его в свой popup.js.

var pdfMake = require("pdfmake/build/pdfmake");
var pdfFonts = require("pdfmake/build/vfs_fonts");
pdfMake.vfs = pdfFonts.pdfMake.vfs;
var htmlToPdfmake = require("html-to-pdfmake");
  • Если импортировать так, это дает мне ошибку
Uncaught ReferenceError: require is not defined

при импорте с использованием «импорта»

import pdfMake from "pdfmake/build/pdfmake";
import pdfFonts from "pdfmake/build/vfs_fonts";
pdfMake.vfs = pdfFonts.pdfMake.vfs;
import htmlToPdfmake from "html-to-pdfmake";

это дает мне

Uncaught TypeError: Failed to resolve module specifier "pdfmake/build/pdfmake". Relative references must start with either "/", "./", or "../".

Любые идеи, как импортировать его. В пакете нет руководств, так как он непопулярен.

я пытался

import htmlToPdfmake from "./node_modules/html-to-pdfmake";

но это тоже не работает.

Отвечает ли это на ваш вопрос? импорт пакета в ES6: «Не удалось разрешить спецификатор модуля «vue»»

jabaa 04.04.2023 15:15

Либо используйте сборщик, либо настройте свой веб-сервер для обслуживания node_modules и используйте собственную модульную систему или загрузчик модулей. Существуют десятки или сотни способов использования модулей. Проведите небольшое исследование, выберите один из способов и попробуйте его. Затем задайте конкретный вопрос.

jabaa 04.04.2023 15:19

Загрузить как скрипт может вам помочь? <script src = "https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.2/pd‌​fmake.min.js"></scri‌​pt> <script src = "https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.2/vf‌​s_fonts.js"></script‌​> <script src = "https://cdnjs.cloudflare.com/ajax/libs/html-to-pdfmake/‌​0.2.0/html-to-pdfmak‌​e.min.js"></script>

TheNikCD 04.04.2023 15:27

Либо используйте веб-пакет, либо добавьте расширение файла .js и используйте относительный путь для работы собственного импорта ES.

wOxxOm 04.04.2023 17:09
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Откуда вы хотите загрузить эти модули?

Возможно, это поможет вам Как импортировать модули ES6 в скрипт содержимого для расширения Chrome

Другие вопросы по теме