【问题标题】:sass-loader generates broken source mapssass-loader 生成损坏的源映射
【发布时间】:2017-04-08 14:57:10
【问题描述】:

在我的项目中,我包含一个 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']
    })
}


编辑:我知道我不是唯一拥有此problem 的人。

【问题讨论】:

    标签: javascript sass webpack webpack-2 sass-loader


    【解决方案1】:
    {
      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; }
    

    【讨论】:

    • 纯代码答案没有太大帮助,请尝试解释您的代码。
    猜你喜欢
    • 2020-06-30
    • 2018-12-01
    • 2020-02-12
    • 2014-12-17
    • 2019-10-22
    • 2015-05-25
    • 1970-01-01
    • 2017-07-06
    • 2017-11-18
    相关资源
    最近更新 更多