Grunt-watch livereload不适用于编译文件(手写笔,玉器等)

时间:2014-04-17 21:42:39

标签: css gruntjs pug stylus livereload

我的livereload是“正常工作”,因为它会在文件更改时重新加载页面,但前提是我直接修改文件。如果文件是通过grunt stylus或jade编译器生成的,则没有任何反应。

当我查看打开详细信息的咕噜声时,只有在我直接保存Live reloading root.css...时才会显示root.css行。如果通过手写笔编译器修改root.css,则不会显示该行。就好像watch没有检测到文件已被更改(如果它已通过编译器更改)。同样的问题也出现在玉器上。

这是我的手写笔任务(修剪过):

    stylus: {
        options: {
            compress: false,
            use: [
                require('autoprefixer-stylus')
            ]
        },
        src: [
            'app/styl/**/*.styl'
        ],
        dest: 'build/css/root.css'
    }

这是我的观察任务(修剪过):

    livereload: {
        options: {
            livereload: 1337,
        },
        files: 'build/**/*'
    },
    stylus: {
        files: [
            'app/styl/**/*.styl',
        ],
        tasks: ['stylus:dev']
    },

我真的希望我只是做一些愚蠢的事情。我找不到与此类似的任何问题。

修改 为了防止这种情况发生,我发现通过将我的繁琐任务从运行['clean','jade:dev', 'stylus:dev', 'connect:dev', 'watch']更改为仅运行['connect:dev', 'watch'],livereload按预期工作一次,然后再也不会。 (直接修改css仍然有效。)

编辑2: 我能够通过向watch中的每个特定任务添加livereload来解决这个问题,如下所示:

    livereload: {
        options: {
            livereload: 1337,
        },
        files: 'build/**/*'
    },
    stylus: {
        files: [
            'app/styl/**/*.styl',
        ],
        tasks: ['stylus:dev'],
        options: {
            livereload: 1337
        }
    },

至于为什么会这样,我不知道。如果有人能够对此有所了解,我们将不胜感激。虽然说实话,我不知道为什么我没有早点尝试过。

0 个答案:

没有答案