Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用react网页包文件加载器提供静态pdf_Javascript_Pdf_Reactjs_Ecmascript 6_Webpack - Fatal编程技术网

Javascript 使用react网页包文件加载器提供静态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

我提供了一些静态文件,如图像和字体,没有任何问题。当我尝试对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的加载程序配置

{
    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]'
        }
      }
    ]
  }