In Nodejs applications, If you want to integrate fontawesome into SCSS/sass files, sass files are not readable by browsers, hence we are going to use node-sass to compile sass to the scss file.

Fontawesome npm installation

Please install fontawesome free library using the npm command

npm install --save @fortawesome/fontawesome-free

we can use CSS or scss files directly.

Next, import the CSS file into scss using the @import line as seen below.

@import '~@fortawesome/fontawesome-free/css/all.min.css

How do you load fontawesome scss files from node_modules?

create an npm project

npm init -Y

this creates a nodejs application with default configurations as follows

B:\sassdemo>npm init -y
Wrote to B:\sassdemo\package.json:

{
  "name": "fontawesome",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

Create an app.scss file which loads sass icon files into the application scss file

$fa-font-path: "/webfonts"; // destination folder in dist
@import "../node_modules/@fortawesome/fontawesome-free/scss/fontawesome";
@import "../node_modules/@fortawesome/fontawesome-free/scss";
@import "../node_modules/@fortawesome/fontawesome-free/scss/brands";
@import "../node_modules/@fortawesome/fontawesome-free/scss/regular";
@import "../node_modules/@fortawesome/fontawesome-free/scss/solid";

And also add font-family to the body selector as follows. For regular and solid icons, we have to use Font Awesome 5 Free as a value for the font-family attribute

body {
    font-family: 'Font Awesome 5 Free';
}

This enables you to use the fontawesome icons in your nodejs application.

if you want to compile the project into CSS, use the node-sass command.

Next, Install node-sass npm library using the below command.

npm install node-sass --save-dev

node-sass is used to compile scss into CSS to manually compile it.