Как импортировать библиотеку узлов на веб-страницу с помощью CDN - PullRequest
0 голосов
/ 29 мая 2020

Итак, я создал простую программу, используя node.js и пару библиотек, используя puppeteer и kijiji-scraper из npm, и я хочу запустить ее на веб-странице, такой как страницы Github. Раньше мне удавалось использовать CDN для импорта библиотеки узлов, в которой я нуждался, следуя инструкциям в файле readme. Но для этих пакетов нет инструкций по импорту с использованием CDN. Это просто невозможно или я что-то упускаю?

Пакеты:

1 Ответ

0 голосов
/ 29 мая 2020

NodeJS и Интернет имеют принципиально разные системы модуляции. Вы не сможете импортировать библиотеки, написанные для Node, в Интернете. Если библиотеки являются чистыми JavaScript библиотеками (не полагающимися на стандартную библиотеку или собственные модули) или являются библиотеками на основе браузера, полагающимися на DOM, то вы можете использовать Browserify для компиляции исходного кода библиотеки в один файл и включения его в веб-страница с <script>. В противном случае вам придется реструктурировать ваше приложение с учетом этого ограничения.

В вашем случае, однако, похоже, что Kijiji - это клиентская библиотека, и Browserify будет вашим решением здесь.

Вы можете прийти к такому выводу, просмотрев часть исходного кода. Вы заметите, что в нем есть вызов require. Функция require не существует в DOM API и, следовательно, выдает ошибку, которую вы получаете.

В вашем случае я бы использовал следующее решение: а) Grunt или Gulp или б) компиляция кода и их статический импорт.

Если у вас более сложная цепочка сборки, я бы посоветовал включить в нее этап просмотра. Я бы также не использовал библиотеку на основе CDN, а использовал библиотеку NPM. На этапе просмотра объединяет библиотеку и все необходимые зависимости в один файл, который можно использовать в HTML

<script src="/static/kijiji.js"></script>
<script src="/app/index.js"></script>

Я не уверен, какая у вас файловая структура похоже, но вы поняли.

...