【发布时间】:2021-08-19 01:35:15
【问题描述】:
我有一个导航栏链接,我想在浏览器中打开一个 pdf。我正在使用由 create-react-app 创建的 React
我的文件夹如下所示:
|site
L build
L public
L src
L assets
L file.pdf
L components
L navbar
在导航栏组件中,我的代码看起来像(我遵循了这个答案:React - How to open PDF file as a href target blank)
import pdf from "../assets/file.pdf"
<a href={pdf} target="_blank">File Link</a>
在我的本地主机上,它打开,但在我部署的网站上,它进入 404。我还尝试了得到相同 404 错误的根路径(“src/assets/file.pdf”)。我也尝试过这个解决方案 (How do I link to local pdf file in a create-react-app project?),但我的 React 应用程序错误 & 无法在 src/ 文件夹之外找到路径
【问题讨论】:
-
如果您将
assets文件夹放入public文件夹中,然后您可以简单地放入href/assets/file.pdf。我相信这应该可行。 -
我的终端出现编译失败错误“找不到模块:您试图导入项目 src/ 目录之外的 /assets/file.pdf。src/ 之外的相对导入是不支持。”
-
在将
assets文件夹移至公共文件夹后,您是否尝试过这样的<a href={"/assets/file.pdf"} target="_blank">File Link</a>? -
我更新了导入路径,但没有尝试直接将链接添加到href。有区别吗?
-
是的,通过使用 href,您将被重定向到在您的网络应用程序中作为静态文件提供的 pdf。