BaronVonKaneHoffen
BaronVonKaneHoffen

Reputation: 1980

How can I specify a resource root for SCSS includes in my Webpack sass-loader config?

Say I have something like:

{
  test: /\.scss$/,
  exclude: /node_modules/,
  loaders: ['style-loader', 'css-loader', 'sass-loader']
}

in my webpack config and I have a app/ sub folder with all my SCSS and JS files in.

Currently to import an SCSS partial I have to @import 'app/whatever/my_partial'; for it to be recognised.

How can I set the loader to treat app/ as a resource root for these files so I can just say @import 'whatever/my_partial' ?

This is with Webpack 2.x btw.

Any help from you clever people much appreciated!

Upvotes: 2

Views: 2884

Answers (1)

Michael Jungo
Michael Jungo

Reputation: 32972

You can add app/ to the includePaths option in the sass-loader. Your .scss rules has to be changed to:

{
  test: /\.scss$/,
  exclude: /node_modules/,
  use: [
    'style-loader',
    'css-loader',
    {
      loader: 'sass-loader',
      options: {
        includePaths: [path.resolve(process.cwd(), 'app')]
      }
    }
  ]
}

Upvotes: 4

Related Questions