I am using font-awesome 4.70, angular 6.0.8, and cli 6.0.8(full versioning below) I am trying to replace our existing webpack process with the cli's "ng build". I have run into an issue with font awesome's icons not showing up. I have seen similar issues in the past with older versions but I havent found a solution yet.
I have the fonts hooked up in my assets
assets:[
"./node_modules/font-awesome/fonts",
//other assets
]
And I am including the css in the styles portion of my angula.json
styles:[
"./node_modules/font-awesome/css/font-awesome.css",
//other styles
]
I am not using "ng serve", I am only using the build command to transpile my code. In the browser I am getting these errors.
GET http://localhost:29380/fontawesome-webfont.woff2?v=4.7.0 404 (Not Found)
GET http://localhost:29380/fontawesome-webfont.woff?v=4.7.0 404 (Not Found)
GET http://localhost:29380/fontawesome-webfont.ttf?v=4.7.0 404 (Not Found)
I see the assests in the output directory but for some reason they are not available and I am getting 404s.
Make sure you're using the latest and greatest by updating your CDN code reference, updating your Font Awesome package via npm, or downloading a fresh copy of Font Awesome. You can check with version an icon was added to on its detail page (e.g. question-circle was added in Verion 1 but last updated in 5.0. 0).
If you get the above error that means you are using older version of angular fontawesome icons. Then use the legacy icon library from @fortawesome/fontawesome-svg-core package. It's deprecated now, so better update your @fortawesome/angular-fontawesome package, to use latest FaIconLibrary class.
I also went through this problem and decided as follows. In the angular.json file in the build > assets section I included the path of the fonts to be copied:
{
"glob": "**/*",
"input": "node_modules/font-awesome/fonts",
"output": "assets/fonts"
}
And in the build > styles section I've included the font-awesome path in the node_modules folder:
{
"input": "node_modules/font-awesome/scss/font-awesome.scss"
}
And finally, in the global scss-style file I've included these instructions:
$fa-font-path: "../assets/fonts" !default;
i[class^="fa-"], ion-icon[class^="fa-"] {
font-family: "FontAwesome" !important;
}
Note that in the global scss-style file I also include the ion-icon, in case you are using Ionic.
I hope this solves your problem.
I had the same issue and follow the instruction!! it works,
step 1 : Remove fortawesome:registry and authToken (if you have)
npm config delete "@fontawesome:registry"
npm config delete "//npm.fontawesome.com/:_authToken"
step 2:
after you need to install the package
npm install --save-dev @fontawesome/fontawesome-free
step 3:
in your angular.json add
"node_modules/@fontawesome/fontawesome-free/js/all.js"
"node_modules/@fontawesome/fontawesome-free/css/all.css"
add js and css file in right block (scripts/styles)
Note : add it in both tests & build blocks
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With