У меня есть элемент Iframe, который показывает PDF-файл на моей странице Nuxt 3, этот элемент работает нормально, пока я не запустил npm run build
, а затем не запустил сборную версию для производства, затем элемент показывает 404: не удалось найти активы/Name_of_pdf.pdf
мой I кадр:
<iframe src = "\static\Name_of_pdf.pdf#page=3" width = "100%" height = "700px" ></iframe>
и у меня есть PDF-файл в папке с ресурсами.
В npm run dev
iframe и pdf отображаются правильно, но после запуска npm build и узла .output/server/index.mjs отображается 404 Page not found: /assets/Name_of_pdf.pdf
для элемента Iframe.
Я попытался создать папку с ресурсами с PDF-файлом в папке .output и почти во всех подпапках в надежде, что он сможет ее найти, но это сработало. Я также пытался сделать это с PDF-файлом в статической папке, та же ошибка, только другой путь.
Может кто-нибудь сказать мне, как это исправить?
Редактировать:
Если я помещу файл в общую папку перед созданием, файл правильно появится в созданной общей папке, но на странице все равно будет ошибка 404, а в журналах консоли [Vue Router warn]: No match found for location with path "/public/Name_of_pdf.pdf"
пока файл находится в общей папке: c
@kissu да, я пытался поместить файл в общую папку, и я пытался поместить папку с файлом в общую папку, но ошибка все равно отображается. К сожалению, я не могу предоставить ссылку на полный репозиторий, поскольку он размещен в лаборатории GIT нашей компании-стажера.
минимального воспроизводимого примера должно быть достаточно.
Я нашел решение: оно должно находиться в общей папке, а путь не может быть /public/file, он должен быть просто /file, спасибо за вашу помощь @kissu
Файл должен находиться в каталоге public
и не иметь префикса в вышеупомянутом пути, поэтому просто Name_of_pdf.pdf
, а не \static\Name_of_pdf.pdf
.
Вы проверили это? nuxt.com/docs/guide/directory-structure/public Разве это не должно быть просто
Name_of_pdf.pdf#page=3
? Кроме того, в системах Linux это обычно/
, а не ``. У вас есть ссылка на ваш репо?