2016-04-15 137 views
3

我提供了一些静态文件,如图像和字体,没有任何问题。当我尝试对PDF文件执行相同操作时,出现错误。提供反应webpack文件加载器的静态pdf

ERROR in ./src/views/default/components/Footer.js

c:\Resurs\repos\Frontend\src\views\default\components\Footer.js 5:17 error Parse errors in imported module 'src/includes/ANVANDARAVTAL_MITTKONTOR.pdf' import/default

✖ 1 problem (1 error, 0 warnings)

ERROR in ./src/views/default/components/Footer.js Module not found: Error: Cannot resolve module 'application-loader' in 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,和工程...为什么(垫底)!?例如:

{ 
    test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, 
    loader: 'file-loader' 
} 

文件的导入到反应成分如下:

import bg from "src/design/images/loginBG.jpg"; //works fine 
import pdf from "src/includes/ANVANDARAVTAL_MITTKONTOR.pdf"; //NOT WORKING! 

我已经尝试了许多配置,一派错误,用Google搜索,可以解决这个问题装载机。除了通常的图片,CSS,JS,除了提供来自webpack/react的静态内容外,没有任何内容。

我也尝试服务一个txt文件只是为了看看它是否工作。这也失败了与PDF相同的错误。

为什么webpack在使用文件加载器时尝试解析文件?

+1

什么是'应用loader'?你有配置吗? 'minetype'中也有错字 - 应该是'mimetype' – CodingIntrigue

+0

.pdf文件需要捕获组吗?我知道它被0或很多'?'包裹,但我很好奇它没有它如何执行。 –

+0

任何机会你都可以粘贴与'ERROR'相关的行./src/views/default/components/Footer.js模块未找到:错误:无法解析c:\ Resurs \ repos \ Frontend \ src中的模块'application-loader' \ views \ default \ components @ ./src/views/default/components/Footer.js 21:32-84'? –

回答

4

我使用webpack file-loader在构建过程中处理静态内容,并且能够成功将PDF传输到我的构建文件夹。下面是我在做什么的简化版本:

阵营组件 import pdfFile from '../../src/file.pdf'

的WebPack装载机

{ 
    test: /\.(pdf|gif|png|jpe?g|svg)$/, 
    loader: 'file?name=[path][name].[ext]', 
    include: paths 
}