2017-08-03 16 views
4

@ font-faceを使用してCSSファイルにフォントをロードしようとしていますが、フォントはロードされません。これは私のディレクトリ構造です。Webpackとフォントフェイスでフォントをロード

Directory structure

次にwebpack.config.jsに私がフォントを取得するためのローダーを持っています。私は私のindex.jsに私のCSSファイルを呼んでいる、最後に

@font-face { 
    font-family: 'Darkenstone'; 
    src: url('./Darkenstone.woff') format('woff'); 
} 

body { 
    background-color: green; 
    font-size: 24px; 
    font-family: 'Darkenstone'; 
} 

:私のCSSファイル内

var path = require('path'); 
var webpack = require('webpack'); 

module.exports = { 
    devtool: 'eval', 
    entry: [ 
    "./index.js" 
    ], 
    output: { 
    path: __dirname+"/build", 
    filename: "main.js" 
    }, 
    plugins: [ 
    new webpack.NoErrorsPlugin(), 
    new webpack.HotModuleReplacementPlugin(), 
    new webpack.NoErrorsPlugin() 
    ], 
    resolve: { 
    extensions: ['', '.js', '.jsx'] 
    }, 
    module: { 
     loaders: [ 
      { test: /\.js$/, loaders: ['react-hot', 'babel-loader'], exclude: /node_modules/ }, 
      { test: /\.jsx?$/, loaders: ['react-hot', 'babel-loader'], exclude: /node_modules/ }, 
      { test: /\.svg$/, loader: "raw" }, 
      { test: /\.css$/, loader: "style-loader!css-loader" }, 
      { test: /\.(eot|svg|ttf|woff|woff2)$/, loader: 'file?name=src/css/[name].[ext]'} 

     ] 
    } 
}; 

私はこれを持って

import './src/css/master.css'; 

すべてはなく、デフォントの作品ロードしないでください。ありがとう。

+0

webpack configは1.xのように見えますか? –

+0

is webpack 1.10.1 –

答えて

1

多くのものを試した後、次のローダーが作業を行いました。ファイルローダーの代わりに、私はURLローダーを使用しました。あなたはURLローダーがインストールされている必要があります。

{ test: /\.(png|woff|woff2|eot|ttf|svg)$/, loader: 'url-loader?limit=100000' } 
1

{ test: /\.(eot|svg|ttf|woff|woff2)$/, loader: 'file?name=[name].[ext]'}

とあなたのoutputキーにpublicPath: 'build/'を追加するには、あなたのローダーを変更してみてください。

+0

私の出力パス(webpack.config.js)には「ビルド」があります。そのローダーでビルド内に別のビルドフォルダがあります。ビルド/ビルドのようなもの。 –

+0

ああ、私はビルダーをローダーから取り外した。それはフォントをあなたのビルドフォルダのルートに置くべきでしょうか?次に 'publicPath: 'build /''を 'output'に追加します。あなたはindex.htmlを開き、スタイルタグを見つけてフォントのURLを確認することができます。それは 'build/Darkenstone.woff'でなければなりません。 – Esben

+0

miコンソールでこのエラーが発生します: 95%emitError:EACCES:permission denied 、open '/Darkenstone.woff' atエラー(ネイティブ) publicPathを追加するにはPath:__dirname + "/ build"を削除しました。 –

関連する問題