使用 webpack 导入 material 设计标志性字体
Importing material design iconic font using webpack
我已经尝试了几个小时,但在使用 webpack 导入 material design iconic fonts 时没有成功。
我的webpack.config.js
...
module: {
rules: [
{
test: /\.css$/,
use: [
{loader: "style-loader"},
{loader: "css-loader"}
]
},
{
test: /\.(png|jpg|gif)$/,
use: [
{
loader: 'file-loader',
options: {}
}
]
},
{
test: /\.(svg|eot|woff|ttf|svg|woff2)$/,
use: [
{
loader: 'file-loader',
options: {
name: "fonts/[name].[ext]"
}
}
]
}
]
...
我的app.js文件
import 'material-design-iconic-font/dist/css/material-design-iconic-font.css';
我的 webpack 输出控制台
Built at: 2018-4-3 12:48:40
Asset Size Chunks Chunk Names
fonts/Material-Design-Iconic-Font.ttf 96.9 KiB [emitted]
fonts/Material-Design-Iconic-Font.woff2 37.5 KiB [emitted]
fonts/Material-Design-Iconic-Font.woff 49.1 KiB [emitted]
4a37f8008959c75f619bf0a3a4e2d7a2.png 4.86 KiB [emitted]
但是我在设置时没有得到任何图标
<i class='zmdi zmdi-money'></i>
拜托,冷有人帮帮我吗?
谢谢。
在添加的 material 设计中仔细检查 inline-style 我注意到以下语句:
url("fonts/Material-Design-Iconic-Font.woff2")
这就是它不起作用的原因。导入图标的 js 文件位于 js 文件夹 (appname/js) 中,当执行页面本身时,浏览器试图获取 localhost:8080/appname/fonts/Material-Design-Iconic-Font.woff2.
根本不存在的内容。 (在 js 文件夹中创建字体页面后 "appname/js/fonts...")
为了解决这个问题,我把webpack.config.js文件改成了
{
test: /\.(svg|eot|woff|ttf|svg|woff2)$/,
use: [
{
loader: 'file-loader',
options: {
name: "[path][name].[ext]"
}
}
]
}
现在检查结果 inline-style,我得到
url(node_modules/material-design-iconic-font/dist/fonts/Material-Design-Iconic-Font.woff2)
现在浏览器可以加载它并且图标可以正确显示。
我已经尝试了几个小时,但在使用 webpack 导入 material design iconic fonts 时没有成功。
我的webpack.config.js
...
module: {
rules: [
{
test: /\.css$/,
use: [
{loader: "style-loader"},
{loader: "css-loader"}
]
},
{
test: /\.(png|jpg|gif)$/,
use: [
{
loader: 'file-loader',
options: {}
}
]
},
{
test: /\.(svg|eot|woff|ttf|svg|woff2)$/,
use: [
{
loader: 'file-loader',
options: {
name: "fonts/[name].[ext]"
}
}
]
}
]
...
我的app.js文件
import 'material-design-iconic-font/dist/css/material-design-iconic-font.css';
我的 webpack 输出控制台
Built at: 2018-4-3 12:48:40
Asset Size Chunks Chunk Names
fonts/Material-Design-Iconic-Font.ttf 96.9 KiB [emitted]
fonts/Material-Design-Iconic-Font.woff2 37.5 KiB [emitted]
fonts/Material-Design-Iconic-Font.woff 49.1 KiB [emitted]
4a37f8008959c75f619bf0a3a4e2d7a2.png 4.86 KiB [emitted]
但是我在设置时没有得到任何图标
<i class='zmdi zmdi-money'></i>
拜托,冷有人帮帮我吗? 谢谢。
在添加的 material 设计中仔细检查 inline-style 我注意到以下语句:
url("fonts/Material-Design-Iconic-Font.woff2")
这就是它不起作用的原因。导入图标的 js 文件位于 js 文件夹 (appname/js) 中,当执行页面本身时,浏览器试图获取 localhost:8080/appname/fonts/Material-Design-Iconic-Font.woff2.
根本不存在的内容。 (在 js 文件夹中创建字体页面后 "appname/js/fonts...")
为了解决这个问题,我把webpack.config.js文件改成了
{
test: /\.(svg|eot|woff|ttf|svg|woff2)$/,
use: [
{
loader: 'file-loader',
options: {
name: "[path][name].[ext]"
}
}
]
}
现在检查结果 inline-style,我得到
url(node_modules/material-design-iconic-font/dist/fonts/Material-Design-Iconic-Font.woff2)
现在浏览器可以加载它并且图标可以正确显示。