#javascript #pdf #svelte #circular-dependency #pdf-annotations
#javascript #PDF #стройный #циклическая зависимость #pdf-аннотации
Вопрос:
Я хотел бы использовать pdfAnnotate в svelte, но когда я запускаю приложение, npm run dev
жалуется Circular dependencies
. Я не нашел ни одного примера, как исправить эту ошибку. Кто-нибудь может объяснить мне, что я делаю не так, или указать мне на решение?
Чтобы воспроизвести мою проблему:
# 1. install svelte-pdf
npx degit sveltejs/template my-svelte-project
npm install
npm install svelte-pdf
cp ../../example.pdf public/
# now add to src/App.svelte see below [1]
npm run dev
# now the webpage <host>:5000 works fine and shows the pdf
# 2. install pdfAnnotate
npm install annotpdf
# now add it to src/App.svelte, too, see below [2].
npm run dev
# says "Ciruclar dependencies" and the page <host>:5000 is blank.
где я добавил на шаге [1] к src/App.svelte
:
<script>
import PdfViewer from 'svelte-pdf';
</script>
<main>
<PdfViewer url='./example.pdf' />
</main>
и на шаге [2], чтобы src/App.svelte
:
<script>
import AnnotationFactory from 'annotpdf';
</script>
(Я добавил строки внутри существующих script
main
элементов и,
я не использовал несколько таких элементов.)
Полное сообщение об ошибке:
(!) Circular dependencies
node_modules/annotpdf/lib/object-util.js -> node_modules/annotpdf/lib/array-util.js -> node_modules/annotpdf/lib/object-util.js
node_modules/annotpdf/lib/object-util.js -> node_modules/annotpdf/lib/array-util.js -> /home/lst/tmp/pdf/pdfjs-svelte-app/node_modules/annotpdf/lib/object-util.js?commonjs-proxy -> node_modules/annotpdf/lib/object-util.js
Комментарии:
1. Открытым текстом сказано, что
annotpdf/lib/object-util.js
иannotpdf/lib/array-util.js
циклически зависят друг от друга. Не ваша вина. Библиотека сделала это. Не уверен, как это исправить. Это предупреждение или ошибка? Если предупреждение просто игнорируется.2. Спасибо hackape! Ваши комментарии помогли мне отладить проблему дальше: как вы и подозревали, циклические зависимости не являются виновником, а безвредным предупреждением. Если вы добавите свой комментарий в качестве ответа, я приму его и открою новый вопрос о реальном нарушителе спокойствия…
3. Нет проблем. Я не считаю, что это стоит публиковать в качестве ответа, поэтому я пройду. Если хотите, вы можете ответить на свой собственный вопрос, что на самом деле имеет больше смысла, поскольку у вас больше информации, чем у меня.