angularjs – 在yeoman / angular grunt构建中不更新对font(font-awesome)资源的引用

前端之家收集整理的这篇文章主要介绍了angularjs – 在yeoman / angular grunt构建中不更新对font(font-awesome)资源的引用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道关于这个的SO线程(我已将它们链接到下面),但不幸的是我无法解决这个问题,所以请允许我这个问题:-)

我用Yeoman引导了一个AngularJS项目,因此依赖于使用bower.js和SCSS的grunt.js构建.
我想从bootstrap-sass-official使用font-awesome和glyphicons-halflings-regular.
当运行“grunt serve”时一切都很好,但是当我想创建一个用于分发的文件集时,对字体文件的引用不会按照它们应该更新.

main.scss包含

$icon-font-path: "../bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap/";
@import 'bootstrap-sass-official/vendor/assets/stylesheets/bootstrap';

$fa-font-path: "../bower_components/font-awesome/fonts/";
@import "font-awesome/scss/font-awesome";

但是dist / styles / 123456.main.css中的结果是像

@font-face{font-family:FontAwesome;src:url(/Users/markus/src/angular_app/.tmp/bower_components/font-awesome/fonts/fontawesome-webfont.eot?v=4.1.0);

所以,对我来说,它看起来像路径更新(到tmp路径),但没有正确的值为“dist”.
我试图摆弄gruntfile中的copy和rev任务,但还没找到合适的触发器,但是:(

我用过的线程和其他来源为此找到了解决方案:

> Fontawesome is not working when project is built with grunt
> Assets missing in Angular application built using grunt
> Font awesome URL not coded in main.css for grunt dist
> http://likesalmon.net/use-font-awesome-on-yeoman-angularjs-projects/
> https://github.com/yeoman/generator-angular/issues/350

有什么提示我怎么能这个?

解决方法

最后,我想通了:)

我把cssmin固定为这个游戏中的坏人:它负责将.tmp路径写入最终的css文件.为了解决这个问题,我在gruntfile.js中为cssmin任务添加了noRebase:true选项.

为了与字体引用相处,我还使用了复制任务将字体复制到我的dist文件夹中,并且必须使用$icon-font-path:“../ fonts /”以最终格式正确.

也许这会帮助陷入类似情况的人:-)

猜你在找的Angularjs相关文章