2016-06-12 78 views
0

字体未在浏览器上呈现,似乎构建过程正常。 Webpack正确地将字体文件移动到public/fonts目录。内置的css文件显示了字体文件的正确路径。字体未在webpack中加载构建

这里是装载机配置:

{ 
    test: /\.s?css$/, 
    loaders: ['style', 'css?sourceMap', 'sass?sourceMap'] 
}, 
{ 
    test: /\.(eot|svg|ttf|woff|woff2)/, 
    loader: 'file?name=../fonts/[name].[ext]' 
}, 
{ 
    test: /\.(png|jpg|gif)$/, 
    loader: "url-loader?limit=100000" 
} 

这里是生成输出:

         Asset  Size Chunks    Chunk Names 
        ../fonts/icon_set_2.svg 20.9 kB   [emitted] 
    ../fonts/glyphicons-halflings-regular.eot 20.1 kB   [emitted] 
../fonts/glyphicons-halflings-regular.woff 23.4 kB   [emitted] 
    ../fonts/glyphicons-halflings-regular.ttf 45.4 kB   [emitted] 
    ../fonts/glyphicons-halflings-regular.svg 109 kB   [emitted] 
        ../fonts/icon_set_1.eot 71.6 kB   [emitted] 
        ../fonts/icon_set_1.woff 41.9 kB   [emitted] 
        ../fonts/icon_set_1.ttf 71.5 kB   [emitted] 
        ../fonts/icon_set_1.svg 98.5 kB   [emitted] 
        ../fonts/icon_set_2.eot 13.9 kB   [emitted] 
        ../fonts/icon_set_2.woff 7.85 kB   [emitted] 
        ../fonts/icon_set_2.ttf 13.7 kB   [emitted] 
../fonts/glyphicons-halflings-regular.woff2 18 kB   [emitted] 
         ../fonts/fontello.eot 533 kB   [emitted] 
        ../fonts/fontello.woff 321 kB   [emitted] 
         ../fonts/fontello.ttf 532 kB   [emitted] 
         ../fonts/fontello.svg 826 kB   [emitted] 
         ../fonts/Glyphter.eot 7.22 kB   [emitted] 
        ../fonts/Glyphter.woff 5.02 kB   [emitted] 
         ../fonts/Glyphter.ttf 7.06 kB   [emitted] 
         ../fonts/Glyphter.svg 45.2 kB   [emitted] 
          main.bundle.js 1.2 MB  0 [emitted] main 
          vendor.bundle.js 3.74 MB  1 [emitted] vendor 
         main.bundle.js.map 1.72 MB  0 [emitted] main 
         vendor.bundle.js.map 5.58 MB  1 [emitted] vendor 

这是从引导文件,浏览器正在接收,:

@font-face { 
    font-family: 'Glyphicons Halflings'; 

    src: url(/../fonts/glyphicons-halflings-regular.eot); 
    src: url(/../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'), url(/../fonts/glyphicons-halflings-regular.woff2) format('woff2'), url(/../fonts/glyphicons-halflings-regular.woff) format('woff'), url(/../fonts/glyphicons-halflings-regular.ttf) format('truetype'), url(/../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg'); 
} 

这是公共目录的目录结构

+ public 
    + build 
     main.bundle.js 
     vendor.bundle.js 
    + fonts 
     glyphicons-halflings-regular.eot 
     rest of font files... 

但是当我尝试使用字体(glyphicons)时,它们无法正确呈现。

回答

0

我不知道为什么,但是你不能使用字体的相对路径。我遇到了完全相同的问题,我的工作是将字体放在“build”目录下的文件夹中。所以,你的目录结构应该是这样的:

+ public 
    + build 
     main.bundle.js 
     vendor.bundle.js 
     + fonts 
      glyphicons-halflings-regular.eot 
      rest of font files... 

这里就是我的装载机样子:

{ 
    test: /\.woff(2)?(\?v=[0-9]+\.[0-9]+\.[0-9]+)?$/, 
    loader: 'url-loader?limit=10000&minetype=application/font-woff&name=fonts/[name].[ext]' 
}, 
{ 
    test: /\.(ttf|eot|svg)(\?v=[0-9]+\.[0-9]+\.[0-9]+)?$/, 
    loader: 'file-loader?name=fonts/[name].[ext]' 
}, 
{ 
    test: /\.css$/, 
    loader: 'style-loader!css-loader' 
}, 

同时请注意的WebPack 2.0的你应该使用* -loader版本所有装载机,如在我的例子中。

希望有所帮助。