Как исследовать "Не удается найти модуль X", поступивший из пакетов, прошедших проверку?

Режим отчаяния: перепробовал много разных конфигов и все провалилось. У меня есть пакет browserified + babelified под названием videomail-client.js здесь:

https://github.com/binarykitchen/videomail-client/tree/develop/dist

Основная запись package.json этого пакета указывает на этот файл.

Теперь, когда я require() этот пакет из другого проекта и просмотрите его, затем я вижу эту ошибку из задачи gulp с помощью browserify:

[16:26:32] Error: Cannot find module './keys' from '/home/michael-heuberger/code/videomail.io/node_modules/videomail-client/dist'
    at /home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:55:21
    at load (/home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:69:43)
    at onex (/home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:92:31)
    at /home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:22:47
    at FSReqWrap.oncomplete (fs.js:152:21)

Хмммм, звучит сложно? Позвольте мне перефразировать. Пакет видео-клиент-клиент проверен. Другой проект, videomail.io, требует его и снова просматривает все вместе с другими пакетами. Вот и все, что не получается.

Кстати, когда я запускаю автономные примеры с использованием videomail-client.js, он работает нормально.

Я думаю, что проблема заключается в том, что browserify не может решить ./keys файл. Но он должен быть включен в пакет browserified videomail-client.js и разрешен оттуда. Как я могу сказать browserify, чтобы решить это правильным способом?

Предложения приветствуют, как я могу исследовать и исправить это лучше всего. Спасибо!!

2 ответа

Решение состоит из двух этапов: используйте автономную опцию browserify и пакет gulp-derequire. Это работает сейчас.

Это звучит как проблема, с которой я столкнулся несколько лет назад (и да, это сложно описать:))

Я так и не получил ответа, но, возможно, вам повезет больше. Решение, с которым я в конце концов пошел, заключалось в том, чтобы не пытаться повторно просматривать уже просмотренные библиотеки; Я закончил тем, что просто конкатенировал это и свернул весь пакет позже.

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