我有一个ngBoilerplate项目,我想添加字体Awesome到它。
我已经安装了字体Awesome与:
bower install font-awesome --save-dev
然后我在build.config.js
文件中添加了以下内容:
css: [
'vendor/font-awesome/css/font-awesome.min.css'
],
assets: [
'vendor/font-awesome/fonts/*'
]
我在src/less/variables.less
文件中添加了以下内容:
@fa-font-path: "../assets";
现在我想添加一个简单的主页图标到我的网站:
<i class="fa fa-home"></i>
现在我得到一个␦(ascii,空白方框)的图标应该在哪里。
Font Awesome CDN工作得很好,但不能让它与bower一起工作。
所以出于某种原因,我得到了一个间歇性的错误,字体文件找不到。我修改了build.config.js
,去掉了'vendor/font-awesome/fonts/*'
。然后我配置Gruntfile.js
将字体复制到错误正在寻找的文件夹中。为此,我在copy部分添加了以下内容:
font_awesome_fonts: {
files:{
expand: true,
flatten: true,
src: 'vendor/font-awesome/fonts/*',
dest: '<%= build_dir %>/vendor/fonts'
}
}
并将以下内容添加到delta.assets
部分:
'copy:font_awesome_fonts'
这似乎工作,但现在我得到以下警告消息在控制台,不知道为什么,至少它现在工作:
localhost/:1 Failed to decode downloaded font: http://localhost:14080/fonts/fontawesome-webfont.woff2?v=4.3.0
localhost/:1 Failed to decode downloaded font: http://localhost:14080/fonts/fontawesome-webfont.woff?v=4.3.0
localhost/:1 Failed to decode downloaded font: http://localhost:14080/fonts/fontawesome-webfont.ttf?v=4.3.0
谢谢你的问题;它让我走上了通往这个答案的道路。
对我有用的是使用Font Awesome LESS文件而不是CSS。在src/less/main.less
中,我添加了以下内容:
@import '../../vendor/font-awesome/less/font-awesome.less';
我在我的src/less/variables.less
中做了这个声明:
@fa-font-path: ".";
我还从build.config.js
的供应商css部分删除了任何提到字体awesome的内容。我的字体声明看起来有点不同,但实际上应该是一样的:
vendor_files: [
js: ...,
css: [
],
assets: [
'vendor/font-awesome/fonts/*.otf',
'vendor/font-awesome/fonts/*.eot',
'vendor/font-awesome/fonts/*.svg',
'vendor/font-awesome/fonts/*.ttf',
'vendor/font-awesome/fonts/*.woff'
]
]
我没有注意到你的问题与字体不复制,也没有看到在控制台上的消息,但图标显示正确时,托管文件在web服务器和浏览到我的应用程序