【问题标题】:Docpad (on Mac) livereload does not recompile scss when a referenced scss file changes当引用的 scss 文件更改时,Docpad(在 Mac 上)livereload 不会重新编译 scss
【发布时间】:2014-12-14 03:21:27
【问题描述】:

复制步骤如下:

我有一个如下所示的 main.css.scss 文件:

@import "defaults";

我有一个如下所示的 _defaults.scss 文件:

body { background: #FFF; }

当我第一次启动该网站时,一切看起来都很好。如果我更改 main.css.scss,一切都会按预期进行。但是除非我重新启动服务器或触摸 main.css.scss,否则不会获取对 _defaults.scss 的更改

非常感谢您的解决方法!

【问题讨论】:

  • 这对于任何操作系统上的 docpad 都是正确的。基本上是因为 docpad 中没有定义所有 _*.scss 文件与您要重建的文件之间关系的逻辑。目前,我倾向于在我的 gulp 任务中切换到 Assemble#0.6.0/Verb/Template。但是我仍然需要用我的原型来模拟一个 restful api 服务器。

标签: docpad node-sass


【解决方案1】:

这真的很hacky,但这确实解决了问题。在一个终端中,我运行 docpad 服务器。在另一个终端中,我运行以下命令:

fswatch-run src/documents/css/_* 'touch ./src/documents/css/main.css.scss'

它的作用是在任何导入的 scss 文件被触摸时触摸主 scss 文件。这反过来会导致 docpad 获取更改并重新编译 scss。可能有更好的方法可以做到这一点,但目前可行。

不过,我无法接受它作为答案。

【讨论】:

    猜你喜欢
    • 2013-06-01
    • 2019-01-03
    • 2017-03-19
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-25
    相关资源
    最近更新 更多