Ora

How to Install Node-Sass in a React Project?

Published in React Styling 4 mins read

To install Node-Sass in a React project, you'll use either npm or Yarn to add the node-sass package to your project's dependencies. This enables your React application to compile Sass/SCSS files into standard CSS, allowing you to leverage Sass's powerful features for styling.

Understanding Node-Sass

Node-Sass is a library that provides bindings for LibSass, the C version of the popular stylesheet preprocessor, Sass. It allows developers to compile .scss or .sass files directly into .css within a Node.js environment, which is essential for React projects that use Sass for styling. Sass enhances CSS with features like variables, nested rules, mixins, functions, and more, making stylesheets more organized and maintainable.

Step-by-Step Installation

Installing node-sass is straightforward using your preferred package manager.

1. Using npm

If you manage your project dependencies with npm, open your terminal or command prompt in the root directory of your React project and run the following command:

npm install node-sass --save

The --save flag (though now default in recent npm versions) explicitly adds node-sass to your package.json file under dependencies, ensuring it's included when others install your project.

2. Using Yarn

For projects using Yarn, navigate to your project's root directory in the terminal and execute:

yarn add node-sass

This command performs the same function as the npm command, adding node-sass to your project's package.json dependencies.

Verifying the Installation

After running the installation command, you can verify that node-sass has been successfully added by checking your package.json file. You should see an entry similar to this in the dependencies section:

"dependencies": {
  "node-sass": "^X.Y.Z", // version number will vary
  // ...other dependencies
}

Important Note: Consider Dart Sass (sass package)

While node-sass directly answers the question, it's crucial to be aware that node-sass is now deprecated and is no longer actively maintained. It relies on LibSass, which has also been deprecated. The official and recommended implementation of Sass is Dart Sass.

For new projects or when updating existing ones, it's highly recommended to use the sass package (which is Dart Sass) instead of node-sass. Dart Sass offers better performance, is actively maintained, and fully supports the latest Sass features.

To install Dart Sass (the recommended alternative):

  • Using npm:
    npm install sass --save
  • Using Yarn:
    yarn add sass

Most modern React build tools (like Create React App) automatically detect and use either node-sass or sass if found in node_modules, making the transition relatively seamless.

How to Use Sass in Your React Project

Once node-sass (or sass) is installed, your React project's build system (e.g., Webpack configured by Create React App) will automatically handle .scss or .sass files.

Here's how to integrate Sass into your components:

  1. Create Sass Files: In your src directory, create a new file with a .scss or .sass extension (e.g., App.scss or MyComponent.module.scss).

    // App.scss
    $primary-color: #007bff;
    
    .App {
      text-align: center;
    
      header {
        background-color: $primary-color;
        padding: 20px;
        color: white;
    
        h1 {
          font-size: 2.5em;
          margin-bottom: 10px;
        }
      }
    
      p {
        font-size: 1.1em;
        line-height: 1.6;
      }
    }
  2. Import Sass Files: Import these Sass files directly into your React components or index.js (for global styles).

    // App.js
    import React from 'react';
    import './App.scss'; // Import your Sass file
    
    function App() {
      return (
        <div className="App">
          <header>
            <h1>Welcome to React with Sass!</h1>
          </header>
          <p>This is a paragraph styled using Sass.</p>
        </div>
      );
    }
    
    export default App;
  3. Start Your Development Server: Run npm start or yarn start. Your build tool will now compile the Sass files into CSS and apply them to your components.

By following these steps, you can effectively install and utilize Node-Sass (or its modern alternative, Dart Sass) to empower your React projects with advanced styling capabilities.