1. @webpack-blocks/sass
Webpack block for SASS.
@webpack-blocks/sass
Package: @webpack-blocks/sass
Created by: andywer
Last modified: Mon, 13 Jun 2022 01:37:36 GMT
Version: 2.1.0
License: MIT
Downloads: 997
Repository: https://github.com/andywer/webpack-blocks

Install

npm install @webpack-blocks/sass
yarn add @webpack-blocks/sass

webpack-blocks - Sass

Gitter chat
NPM Version

This is the sass block providing Sass support for webpack. Uses node-sass via sass-loader.

Usage

 const { createConfig, match } = require('@webpack-blocks/webpack')
const { css } = require('@webpack-blocks/assets')
const sass = require('@webpack-blocks/sass')

module.exports = createConfig([
  match(['*.scss', '!*node_modules*'], [
    css(),
    sass({ sassOptions: {/* node-sass options */} })
  ])
])

NOTE: Use match() here to apply the css() block to .scss files.

Options

You can pass any sass-loader as an object to the
sass block. For example you can pass
node-sass options in the sassOptions property.

Examples

Extract text plugin

Use the extract-text block to extract the compiled SASS/SCSS styles into a separate CSS file:

 const { createConfig, match, env } = require('@webpack-blocks/webpack')
const { css } = require('@webpack-blocks/assets')
const sass = require('@webpack-blocks/sass')
const extractText = require('@webpack-blocks/extract-text')

module.exports = createConfig([
  match('*.scss', [
    css(),
    sass(),
    env('production', [extractText()])
  ])
])

Make sure you use the extract-text block after the sass block.

CSS Modules

You can use SASS/SCSS in combination with CSS modules.

 const { createConfig, match } = require('@webpack-blocks/webpack')
const { css } = require('@webpack-blocks/assets')
const sass = require('@webpack-blocks/sass')

module.exports = createConfig([
  match('*.scss', [
    css.modules(),
    sass()
  ])
])

PostCSS

You can use the SASS block together with PostCSS (using the postcss block) and its plugins, like
the Autoprefixer, or
cssnano if you want css minification.

 const { createConfig, match } = require('@webpack-blocks/webpack')
const { css } = require('@webpack-blocks/assets')
const sass = require('@webpack-blocks/sass')
const postcss = require('@webpack-blocks/postcss')
const autoprefixer = require('autoprefixer')
const cssnano = require('cssnano')

module.exports = createConfig([
  match('*.scss', [
    css(),
    sass(),
    postcss([autoprefixer(), cssnano()])
  ])
])

webpack-blocks

Check out the

👉 Main documentation

Released under the terms of the MIT license.

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code