【问题标题】:Yeoman: Triggering LiveReload on change of SCSS filesYeoman:在 SCSS 文件更改时触发 LiveReload
【发布时间】:2013-06-01 18:48:49
【问题描述】:

我有最新的 yeoman 堆栈,并且我刚刚将 generator-webapp 升级为 master:https://github.com/yeoman/generator-webapp/pull/67 以使 livereload 正常工作。

HTML 文件和 css 文件似乎可以正常使用 livereload,但 scss 文件不会触发重新加载。这是输出的 sn-p:

OK
>> File "app/index.html" changed.


Running "watch" task
... Reload app/index.html ...
... Reload app/index.html ...
Completed in 0.005s at Wed Jun 05 2013 22:45:46 GMT+0100 (BST) - Waiting...
OK
>> File "app/styles/main.scss" changed.


Running "compass:server" (compass) task
overwrite .tmp/styles/main.css 

Running "watch" task
Completed in 1.101s at Wed Jun 05 2013 22:45:57 GMT+0100 (BST) - Waiting...

正在监视和编译 scss 文件,但看起来好像 .tmp 中输出的 css 被忽略了。尽管(默认)Gruntfile 中有以下内容。

        livereload: {
            options: {
                livereload: LIVERELOAD_PORT
            },
            files: [
                '<%= yeoman.app %>/*.html',
                '{.tmp,<%= yeoman.app %>}/styles/{,*/}*.css',
                '{.tmp,<%= yeoman.app %>}/scripts/{,*/}*.js',
                '<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
            ]
        }

我会将此作为一个错误发布在 github 上,但很难知道堆栈的哪一部分负责。

【问题讨论】:

  • 如果您找到自己的答案,请发布。我在一台新机器上安装了这个堆栈,但 scss 也不适合我。

标签: sass compass-sass yeoman livereload


【解决方案1】:

尝试设置

watch: {
  options: {
    nospawn: false
  }
}

让我知道这是否有效!

【讨论】:

  • 这似乎奏效了!根据文档,它确实减慢了速度,我并不清楚为什么它会这样做,但它确实有效......
  • 太棒了!由于watch.livereload.files绑定了watch.compass任务的.css编译结果,所以需要一个额外的步骤才能看到编译文件发生了变化。
  • 谢谢!这也对我有用。现在 LiveReload 会看到我何时将更改保存到项目中的任何 .scss 文件(好吧,无论如何,指南针正在观看)。
  • 谢谢@Stephen。这让我发疯了。奇怪的是,有一天用 yeoman 生成一个应用程序会很好用。第二天没有。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-04
  • 2017-03-19
  • 2012-10-01
相关资源
最近更新 更多