[英]Font-awesome not loading icon in Bootstrap
我試圖用Webpack做一個簡單的Bootstrap和Font-awesome 。 我設法加載Bootstrap CSS但Font-awesome無法正常工作。
這就是我得到的結果:
我的代碼如下。 我在這做什么錯了?
資源:這里有Github代碼 。
的package.json
{
"name": "",
"version": "0.0.1",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "webpack -w"
},
"license": "MIT",
"devDependencies": {
"css-loader": "^0.21.0",
"expose-loader": "^0.7.0",
"file-loader": "^0.8.4",
"style-loader": "^0.13.0",
"url-loader": "^0.5.6",
"webpack": "^1.12.2"
},
"dependencies": {
"admin-lte": "^2.3.2",
"bootstrap": "^3.3.5",
"bootstrap-webpack": "0.0.5",
"exports-loader": "^0.6.2",
"extract-text-webpack-plugin": "^0.8.2",
"font-awesome": "^4.4.0",
"font-awesome-webpack": "0.0.4",
"imports-loader": "^0.6.5",
"jquery": "^2.1.4",
"less": "^2.5.3",
"less-loader": "^2.2.1"
}
}
入口點: index.js
var $ = require('jquery');
require('expose?$!expose?jQuery!jquery');
require("bootstrap-webpack");
require('./node_modules/font-awesome/css/font-awesome.css');
require('./resources/css/style.css');
$('h1').html('<i class="fa fa-bars"></i> this is bootstrap');
console.log('hi there');
Webpack配置文件webpack.config.js
module.exports = {
entry: './index.js',
output: {
path: 'public/assets/',
filename: 'bundle.js'
},
devtool: 'source-map',
module: {
loaders: [
{test: /\.css$/, loader: "style!css!" },
{ test: /\.less$/, loader: "style!css!less!" },
//bootstrap
{test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff'},
{test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/octet-stream'},
{test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file'},
{test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=image/svg+xml'},
//font-awesome
{ test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "url-loader?limit=10000&minetype=application/font-woff" },
{ test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "file-loader" }
]
},
}
檢查您的F12調試控制台,並查看有關給定文件的錯誤的Web瀏覽器詳細信息。
您的Web服務器不提供具有正確mime類型的.woff和.woff2文件,因此從瀏覽器 - 客戶端角度來看它們根本沒有加載。
您需要修改Web服務器端以添加對.woff文件的支持,例如在Web.config中的IIS Express上您應該具有:
<system.webServer>
<staticContent>
<mimeMap fileExtension="woff" mimeType="application/font-woff" />
<mimeMap fileExtension="woff2" mimeType="application/font-woff" />
</staticContent>
</system.webServer>
在webpack.config.js里面你應該有模塊加載器
{
test: /\.woff($|\?)|\.woff2($|\?)|\.ttf($|\?)|\.eot($|\?)|\.svg($|\?)/,
loader: 'url-loader'
}
我知道這是一個1歲的問題,但萬一有人最終會從谷歌:
css-loader存在一個已知問題, 即生成錯誤的文件路徑 。 這在生產構建中不會發生,但在開發模式下渲染方塊時仍然很煩人。
在修復此問題之前,您可以禁用css-loader源映射以查看在開發中正確呈現的字體。 在你的webpack配置中查找編寫css?sourceMap
並將其更改為css
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.