Я пытаюсь заставить веб-пакет игнорировать импорт, чтобы он импортировался браузером с помощью собственного оператора импорта ES6, а не веб-пакета. Я пытаюсь заставить ffmpeg. js импортировать напрямую, так как он разбивает веб-пакет, когда пытается связать его, так как файлы слишком велики.
После ответа здесь ( Как исключить модуль из веб-пакета, и вместо того, чтобы импортировать его, используя es6 ), я поместил свой код в локальное дерево как /ffmpeg/ffmpeg-mpeg.js и проверил, что мой сервер dev может получить доступ как http://localhost: 8080 /ffmpeg/ffmpeg-webm.js
Затем я импортирую через:
import ffmpeg from '/ffmpeg/ffmpeg-webm.js';
И добавлю это в раздел внешних настроек моей конфигурации веб-пакета:
externals: {
'/ffmpeg/ffmpeg-webm.js': 'ffmpeg',
},
В результате получается ссылка, которая выглядит следующим образом
webpack:///external "ffmpeg"
, содержащая:
module.exports = ffmpeg;
, которая затем завершается с ошибкой "Uncaught Error: Cannot find module?" (На самом деле эта ошибка жестко запрограммирована в сгенерированном файле)
Так что, похоже, предполагается, что существует глобальная опция ffmpeg, а затем сопоставляется этот модуль с этим, но вместо этого я хочу, чтобы она полностью не затрагивала строку webpack и оставьте это браузеру.
Какой правильный способ сделать это? Правило исключения, которое было отклонено на этой странице, также не работает.