How can I specify a resource root for SCSS include

2019-07-11 18:23发布

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!

1条回答
ら.Afraid
2楼-- · 2019-07-11 19:09

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')]
      }
    }
  ]
}
查看更多
登录 后发表回答