仅对公用文件夹中的更改进行Livereload

时间:2016-07-13 13:45:32

标签: gruntjs livereload

我正在使用Grunt来监视我的sass / js文件中的更改并将它们编译到我的公共文件夹中。我已经设置了Livereload功能,但是当我编译我的js时,Livereload会重新加载我的页面2次,这很烦人。我想这是因为我有多个在监视期间创建的JS文件(concat,minify)。

所以我认为仅重新加载我公共文件夹中的更改可能是一个好主意,因为(现在)我只有一个js文件(uglify.js)和一个css文件(main.css)。但是,我无法看到我如何才能实现这一目标。

这是我当前的gruntfile的样子:

    module.exports = function (grunt) {

        // Project configuration.
        grunt.initConfig({
            watch: {
                watch_js_files: {
                    files: ['js/*.js'],
                    tasks: ['concat', 'minified', 'uglify'],
                },
                watch_sass_files: {
                    files: ['css/*.scss'],
                    tasks: ['sass'],
                }
            },
            connect: {
                server: {
                    options: {
                        open: true,
                        keepalive: true,
                        hostname: 'localhost',
                        port: 8080,
                        base: ''
                    }
                }
            },
            concat: {
                dist: {
                    src: ['js/*.js'],
                    dest: 'js/min/concat.js'
                },
            },
            minified: {
                files: {
                    src: ['js/min/concat.js'],
                    dest: 'js/min/minified.js'
                },
            },
            uglify: {
                my_target: {
                    files: {
                        'public/js/uglify.js': ['js/min/minified.jsconcat.js']
                    }
                }
            },
            sass: {
                dist: {
                    files: {
                        'public/css/main.css': 'css/*.scss'
                    }
                }
            }

        });

        grunt.loadNpmTasks('grunt-contrib-watch');
        grunt.loadNpmTasks('grunt-contrib-concat');
        grunt.loadNpmTasks('grunt-minified');
        grunt.loadNpmTasks('grunt-contrib-uglify');
        grunt.loadNpmTasks('grunt-contrib-sass');
        grunt.loadNpmTasks('grunt-contrib-connect');

    };

1 个答案:

答案 0 :(得分:0)

我已在手表中添加了重新加载任务:

        reload: {
            files: ['*.html', 'public/css/*.css', 'public/js/*.js'],
            options: {
                livereload: true,
                host: 'localhost',
                port: 35729,
            }
        },

现在它有效:)