2016-12-06 11 views
0

私の設定は、React、jQuery、Bootstrap(すべてうまく動作します)のWebpack(v1。私はnpm i font-awesome -Sでフォントの素晴らしいを追加しようとしました。私はそれを自動的にロードするのが最善の解決策だと思います。これは私の設定ですWebpack(OTS解析エラー:無効なバージョンタグ)でFont-Awesomeをロード

Failed to decode downloaded font: http://localhost:3000/static/fontawesome-webfont.ttf?v=4.7.0 
OTS parsing error: invalid version tag 

:私は、各フォントファイルに対して次のと言って、ブラウザでコンソールのエラーを取得

webpack.config

... 
output: { 
    path: path.join(__dirname, 'dist'), 
    filename: 'bundle.js', 
    publicPath: 'http://localhost:3000/static/' 
}, 
module: { 
    loaders: [ 
    .... 
    { 
     test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, 
     loader: "url-loader?limit=10000&mimetype=application/font-woff" 
    }, 
    { 
     test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, 
     loader: "file-loader" 
    } 
    ] 
}, 
... 

app.scssを

$fa-font-path: 'http://localhost:3000/static'; 
@import '../../node_modules/font-awesome/scss/font-awesome.scss'; 

...次に、メインのApp.jsファイルにscssファイルをインポートします。

ご覧のとおり、私はfile-loaderurl-loaderをフォントに使用しています。

static-urlで配信されるすべてのファイルの一覧を表示すると便利です。コンソールにその情報を出力する方法はありますか?問題がどこであっても見えにくいです。フォントがまったく読み込まれていない場合、または間違ったURLに読み込まれている場合。

答えて

0

私はMeteorアプリでfont-awesome(npmパッケージ版)を使用して、まったく同じような問題を抱えていました。それは、フォントファイルが全くロードされず/サービスされていないことが判明しました。

質問の2番目の部分に答えてください:フォントファイルは、正しく読み込まれている場合は、[ソース]タブ(Chromeデベロッパーツール)に表示されている必要があります。

最初の部分は扱いにくいですが、解決策はありません。ヒント:フォントファイルが読み込まれないように見えるので、webpackはフォントファイルを「見」ません。 "node_modules"は設定のどこかで除外されているか、フォントの素晴らしいnpmパッケージはフォントファイルを適切にエクスポートしません。またはその間の何か。

私の問題は似ていました。「node_modules」フォルダ内の静的コンテンツは、Meteorの内部バンドラーによっては何ら認められません。ですから、私の回避策はpackage.jsのnpm "postinstall"スクリプトを作成してフォントファイルを適切な場所にコピーすることでした:私の場合は "PATH_OF_MY_APP/public/fonts"です。

1

流石やNPMの設定を再インストールして再インストールした後、Chromeからの閲覧データを消去してからページを更新するだけで問題は解決しました。あなたが同じ問題を抱えていて、それを解決できないようなら、試してみる価値があります。

関連する問題