Sass 源映射不会在 Chrome 中自动刷新

Posted

技术标签:

【中文标题】Sass 源映射不会在 Chrome 中自动刷新【英文标题】:Sass source maps not auto-refreshing in Chrome 【发布时间】:2013-07-19 19:12:09 【问题描述】:

在 Chrome Canary(版本 30.0.1570.0 canary)中,我设置了 sass 源映射如下:

    DevTools > Settings > General > Enable CSS source maps + Auto-reload generated CSS CHECKED! DevTools > 设置 > 添加文件夹public

我的文件夹结构如下:

public
  sass
    _buttons.scss
    style.scss
  css
    style.css
  index.html  (with link href=css/style.css)

在 DevTools 中,我可以执行 inspect element 并看到样式规则来自 _buttons.scss。我可以单击 _buttons.scss 并让 DevTools 显示 scss 源。我可以在 devtools 中修改源并点击 cmd+s 并将其保存到磁盘,当切换到 sublime 时,文件已更新。但是在 Chrome 中,css 不会自动重新加载。我必须手动刷新页面才能重新加载 css。

Sass 版本:

$ sass -v
$ Sass 3.3.0.alpha.149 (Bleeding Edge)

我看的是:

$ sass --scss --sourcemap --watch public/sass:public/css

还有其他人对 Chrome (Canary) 中的 Auto-reload generated CSS 有问题吗? 我也尝试过 Chrome“正常”(20.0...)和同样的问题,没有自动重新加载。

【问题讨论】:

我遇到了同样的问题。你可以试试tin.cr,当你保存在 devtools 中时它会自动重新加载。 不,无法让 tin.cr 在 Chrome 或 Canary 上运行。没有什么是自动重新加载的。尝试使用 file://...index.html 和 http://....index.html 并尝试使用 sass 和普通 css。您是否让您的工作流程与 tin.cr @alpacalips 一起工作?遇到这些问题的人真的不多吗? 有没有办法手动告诉 chrome 重新加载它的 css 的? 如果是,则存在一个已知问题,当从源映射中找到的 URL 计算的 scss 文件的 URL 包含“../”目录时,该问题会阻止此功能正常工作。作为一种解决方法,您可以尝试将 sass/ 作为 css/ 目录的子目录,看看它是否能解决问题。 @AlexanderPavlov 这对我来说是个问题。删除了源映射中的“../”并且它起作用了。 【参考方案1】:

您是否尝试过使用工作区?这就是我使用的,它对我来说很好用,而且一直都是。最近有很多东西已经脱离了实验,所以也许这就是它不起作用的原因?

【讨论】:

以上是关于Sass 源映射不会在 Chrome 中自动刷新的主要内容,如果未能解决你的问题,请参考以下文章

webpack 4 sass-loader 不生成 scss 源映射

Firefox中Chrome的“添加源映射”相当于啥

Chrome DevTools 将 CSS 更改直接保存到 SASS 文件

Chrome/Sass Sourcemaps,在检查器中所做的更改未保存在 SCSS 文件中

Webpack SASS 源映射是不是损坏?

Chrome 调试不会重新加载页面源