1

在我的项目中,我包含一个 CSS 文件和一个 SCSS 文件:

require('./../vendor/glyphicons/glyphicons.css');
require('./../css/main.scss');


CSS的源映射- 工作正常:

{
    test: /\.css$/,
    loader: ExtractTextPlugin.extract({
        loader: ['css-loader?sourceMap']
    })
}

在此处输入图像描述


SCSS的源映射- 损坏(所有规则都指向同一行,指向父元素 - body

{
    test:   /\.scss$/,
    loader: ExtractTextPlugin.extract({
        loader: ['css-loader?sourceMap', 'postcss-loader', 'sass-loader?sourceMap']
    })
}

在此处输入图像描述


编辑:我知道我不是唯一一个有这个问题的人。

4

1 回答 1

2
{
  test: /\.s?css$/,
  exclude: /node_modules/,
  use: [
    {
      loader: MiniCssExtractPlugin.loader,
      options: {
        sourceMap: true,
      },
    },
    {
      loader: 'css-loader',
      options: {
        sourceMap: true,
      },
    },
    {
      loader: 'sass-loader',
      options: {
        sourceMap: true,
        outputStyle: 'compressed', // This fixed the source maps
      },
    },
  ],
},

编辑:我devtool: 'source-map'在生产和devtool: 'cheap-eval-source-map'开发中使用。

我还没有完全理解起作用的力量,但是如果你想让你的 scss 源映射指向@import具有正确行号的文件,那么这很有效。

行号不正确的原因,就我而言,我注意到 sass 符合类似

body {
   background: black;
}

body {
   background: black; }
于 2019-01-26T22:17:53.963 回答