Firefox开发人员工具不适用于Webpack CSS源映射

标签 firefox webpack webpack-dev-server firefox-developer-tools firefox-developer-edition

我在使Firefox开发人员工具(Firefox开发人员版59.0b7)与Webpack在开发模式下(使用webpack-dev-server)生成的CSS源映射一起工作时遇到问题。

在Firefox开发人员工具中,当我检查一个元素时,它的CSS规则位置就是一些大块的哈希,例如blob:http://localhost:9090/1e451f65-5d5a-4155-a7a9-96df9945244b而不是真实文件名(下面的屏幕)。同样,这些位置链接无效-单击它们不会将我带到源文件。

Firefox Developer Tools

有时我也可能在Firefox开发人员工具控制台中收到此类错误:
Source map error: Error: sourceMapURL could not be parsed Resource URL: blob:null/b9a1fdd6-c0a3-4426-9df0-d50f1e8dc670 Source Map URL: data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3JvYmVydC9wcm9ncmFtbWluZy93ZWJwYWNrLXBsYXlncm91bmQvc3JjL2NvbXBvbmVudC1hL2NvbXBvbmVudC1hLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGNBQWM7SUFDZCx1QkFBdUI7SUFDdkIsa0JBQWtCO0NBQ3JCOzs7QUFHRDtJQUNJLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsaUJBQWlCO0NBQ3BCOzs7QUFHRDtJQUNJLG1CQUFtQjtDQUN0QiIsImZpbGUiOiJjb21wb25lbnQtYS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuQ29tcG9uZW50QSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG5cbi5Db21wb25lbnRBLUhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuXG4uQ29tcG9uZW50QS1Cb2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9[Learn More]
在Chrome开发人员工具(Chrome 59.0.3071.104)中,一切都显示得非常好-单击文件名链接后,在检查器(下面的屏幕)中看到了原始文件名和SCSS原始内容。

Chrome Developer Tools

有没有办法使Firefox能够像Chrome一样与Webpack的CSS源映射一起正常使用?

我的配置

我在开发人员工具的选项中启用了启用源 map 。 devtools.debugger.source-maps-enabledtrue中设置为about:config

以下是我的Webpack配置中的相关摘录:

// I tried different devtools but the results in Firefox were the same.
devtool: 'eval-source-map'

(...)

// Chain of loaders for CSS files.
{
    test: /\.(scss|sass|css)$/,
    use: [
        {
            loader: 'style-loader',
            options: {
                sourceMap: true
            }
        },
        {
            loader: 'css-loader',
            options: {
                sourceMap: true
            }
        },
        {
            loader: 'postcss-loader',
            options: {
                sourceMap: true,
                plugins: [
                    autoprefixer
                ]
            }
        },
        {
            loader: 'sass-loader',
            options: {
                sourceMap: true,
                outputStyle: 'expanded',
                /* Custom functions to use in Sass files. */
                functions: {
                    'base64encode($text)': function(text) {
                    let textInBase64 = new Buffer.from(text.getValue()).toString('base64');
                        return new sass.types.String(textInBase64);
                    }
                }
            }
        }
    ]
}

最佳答案

我猜这是Firefox DevTools中的错误。据我所知,目前有很多工作要解决这样的源映射问题。

因此,您应该首先尝试latest Nightly build并查看它是否仍然存在问题。如果是,请添加file a bug for it并将其标记为bug 1339970的阻止者。

关于Firefox开发人员工具不适用于Webpack CSS源映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48750905/

相关文章:

webpack-dev-server - index.html 更改时浏览器自动重新加载

html - 在 FireFox 中垂直对齐具有绝对位置和边距自动的子元素失败

javascript - 单选按钮组在 Chrome 中有值(value),但在 Firefox 中没有

css - 使用样式 "overflow:hidden"和 "border-collapse"表格的顶部边框消失

javascript - Firefox 控制台出现“SyntaxError : illegal character”

webpack - 开 Jest 不解析 es6 : SyntaxError: Unexpected token import

reactjs - 为什么 React 需要 webpack-dev-server 才能运行?

如果缺少模块,webpack 将退出且不会出现任何错误代码

reactjs - 无法导入路径下 tsconfig.json 中定义为别名的文件

node.js - Webpack 图像加载器通过 CSS 提供动态内联背景图像?