Javascript 使用react网页包文件加载器提供静态pdf
我提供了一些静态文件,如图像和字体,没有任何问题。当我尝试对PDF文件执行同样的操作时,我会得到一个错误 ./src/views/default/components/Footer.js中出错 c:\Resurs\repos\Frontend\src\views\default\components\Footer.js 5:17错误分析导入模块“src/includes/ANVANDARAVTAL_MITTKONTOR.pdf”导入/默认值中的错误 ✖ 1个问题(1个错误,0个警告) ./src/views/default/components/Footer.js中出错 未找到模块:错误:无法解析c:\Resurs\repos\Frontend\src\views\default\components中的模块“应用程序加载器” @./src/views/default/components/Footer.js 21:32-84 webpack配置可以很好地工作,有jsx、es6、css和静态文件的所有加载程序。。。除了PDF的加载程序配置Javascript 使用react网页包文件加载器提供静态pdf,javascript,pdf,reactjs,ecmascript-6,webpack,Javascript,Pdf,Reactjs,Ecmascript 6,Webpack,我提供了一些静态文件,如图像和字体,没有任何问题。当我尝试对PDF文件执行同样的操作时,我会得到一个错误 ./src/views/default/components/Footer.js中出错 c:\Resurs\repos\Frontend\src\views\default\components\Footer.js 5:17错误分析导入模块“src/includes/ANVANDARAVTAL_MITTKONTOR.pdf”导入/默认值中的错误 ✖ 1个问题(1个错误,0个警告) ./src
{
test: /\.pdf(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: 'file-loader?minetype=application/pdf&name=[name].pdf'
}
我的另一个加载器配置可以工作,对于PDF看起来几乎相同,并且可以工作。。。为什么(哭泣)!?例:
将文件导入react组件的过程如下所示:
import bg from "src/design/images/loginBG.jpg"; //works fine
import pdf from "src/includes/ANVANDARAVTAL_MITTKONTOR.pdf"; //NOT WORKING!
我尝试了很多配置,搜索了错误,搜索了可以解决问题的装载机。除了常见的图像、css和js之外,没有任何关于从webpack/react提供静态内容的内容
我还试着提供一个txt文件,看看它是否有效。这也会失败,错误与PDF相同
为什么webpack在使用文件加载器时会尝试解析文件 在制作或开发期间使用网页包处理静态内容,并成功使用PDF。以下是流程的简化版本:
反应成分
在组件文件中,首先导入pdf文件,如:
import PdfFile from '../../src/file.pdf'
然后更改href属性:
<a href={PdfFile} target='_blank' >
<p>Click to open PDF file in a new tab</p>
</a>
或
只需提醒您退出webpack(powershell中的Ctrl+C)并重新启动它即可使配置生效。什么是
应用程序加载程序
?你的配置中有吗?您在minetype
中也有一个输入错误-应该是mimetype
。pdf文件需要捕获组吗?我知道它是用0或许多?
包装的,但我很好奇没有它它会如何运行。您是否有可能在./src/views/default/components/Footer.js模块中粘贴与错误相关的行。未找到模块:错误:无法解析c:\Resurs\repos\Frontend\src\views\default\components@./src/views/default/components/Footer.js 21:32-84
?嘿,我也有同样的问题。你找到解决方案了吗?可能是重复的
<a href={PdfFile} target='_blank' >
<p>Click to open PDF file in a new tab</p>
</a>
{
test: /\.(pdf|gif|png|jpe?g|svg)$/,
use: 'file-loader?name=[path][name].[ext]',
include: paths
}
{
test: /\.(png|svg|jpg|gif|pdf)$/,
use: [
{
loader: 'file-loader',
options: {
name: '[name].[ext]'
}
}
]
}