Я застрял с одной проблемой, и поиск в ней в течение примерно трех часов ни к чему не привел.
Вот проблема. Я пытаюсь разработать свой собственный просмотрщик PDF на основе PDF.JS lib. Официально он распространяется по npm в виде пакета pdfjs-dist
. Однако мне нужно расширить несколько классов, которые недоступны в pdfjs-dist
. Итак, я npm install
'ed или yarn add
' ed первоначального репо https://github.com/mozilla/pdf.js.git. Таким образом, у меня есть доступ к нужным классам. Внутри pdf.js есть базовая библиотека, которая хранится в pdf.js/src/
, и приложение pdf-viewer, которое хранится в pdf.js/web/
.
Внутри этого pdf.js/web/
ядра приложения app (pdf.js) имеется ссылка с псевдонимом pdfjs-lib
, который разрешается в pdf.js/src/
во время внутреннего процесса сборки pdf.js с помощью gulp.
Например pdf.js/web/base_viewer.js
:
import { AnnotationLayerBuilder } from './annotation_layer_builder';
import { createPromiseCapability } from 'pdfjs-lib';
import { PDFPageView } from './pdf_page_view';
Так что теперь я пытаюсь импортировать это pdf.js/web/base_viewer.js
в мое приложение, которое использует последний Webpack 4 (я полагаю), и эта субзависимость pdfjs-lib
не разрешена.
Я пробовал механизм разрешения псевдонимов в веб-пакете (https://webpack.js.org/configuration/resolve/):
resolve: {
alias: {
'pdfjs-lib': path.resolve(__dirname, './node_modules/pdf.js/src/')
},
}
... но похоже, что он разрешает зависимости только моего собственного приложения, но не подчиненные зависимости моей зависимости.
На всякий случай я создаю приложение Vue 3.0 с использованием vue-cli и получаю доступ к конфигурации веб-пакета следующим образом: https://cli.vuejs.org/guide/webpack.html, но не думаю, что это имеет значение.
Любая помощь от гуру Webpack здесь?
Спасибо.