我最近将Web应用程序从ng4升级到了ng6。新的angular-cli似乎与ng4的捆绑方式不同。
我已验证字体文件已包含在dist目录中,并且哈希已正确创建。
fontawesome-webfont.674f50d287a8c48dc19b.eot
fontawesome-webfont.af7ae505a9eed503f8b8.woff2
fontawesome-webfont.fee66e712a8a08eef580.woff
fontawesome-webfont.912ec66d7572ff821749.svg
fontawesome-webfont.b06871f281fee6b241d6.ttf
在相应的样式包中,styles.863b3e5b89b185b8f9c6.css
可以看到该路径包含版本号。
* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/@font-face{font-family:FontAwesome;src:url(fontawesome-
webfont.674f50d287a8c48dc19b.eot?v=4.7.0);src:url(fontawesome-
webfont.674f50d287a8c48dc19b.eot?#iefix&v=4.7.0) format("embedded-
opentype"),url(fontawesome-webfont.af7ae505a9eed503f8b8.woff2?v=4.7.0)
format("woff2"),url(fontawesome-webfont.fee66e712a8a08eef580.woff?
v=4.7.0) format("woff"),url(fontawesome-
webfont.b06871f281fee6b241d6.ttf?v=4.7.0)
format("truetype"),url(fontawesome-webfont.912ec66d7572ff821749.svg?
v=4.7.0#fontawesomeregular)
是否有某种方法可以从捆绑软件中删除版本号?由于这个问题,我收到404错误。如果我对不带查询参数的路径发出请求,它就可以正常工作。
我看过ng-cli 6 and font awesome icons not working,这似乎是一个类似的问题,但是作者最终修改了一些字体真棒的CSS来修复它(不理想)。
可能或可能不相关的其他信息
我正在将Adobe AEM用于CMS,并且Angular应用程序正在Apache 2.4上运行。由于字体是Angular应用程序的一部分并存储在Web服务器上,因此Apache上的调度程序正在接受带有查询参数的所有请求,并将它们转发到CMS(失败(找不到404))。我可以在调度程序配置中添加一条规则,但我希望该应用程序的构建方式与ng4相同。
答案 0 :(得分:0)
我最好的解决方案是在dispatcher.any中添加一条新规则,以忽略对超酷字体资源的请求的URL参数。
/ignoreUrlParams
{
{ /glob "v" /type "allow" }
}