您可以在Eclipse中使用Grunt将LESS文件获取到LiveReload吗?

时间:2014-01-24 19:08:29

标签: eclipse less gruntjs

我在家中使用MAMP / Grunt / SublimeText / LESS / LiveReload,它在Chrome中运行良好。每次保存任何指定文件时立即重新加载。

但是在工作中,我在Eclipse中使用文件和jetty服务器。现在,出于某种原因,当我保存一个'监视'文件时,所有LESS都被编译和缩小,本地服务器在浏览器中自行刷新,但需要20-30秒(和另一个页面重新加载)才能获得简单CSS改变实施。

这是我的gruntfile。关于如何更快地渲染更改的任何想法?

module.exports = function(grunt) {

grunt.initConfig({

    project: {
        name: 'web-standard',
        version: grunt.option('pomVersion') || 'VERSION',
    },

    /* CSS */

    less: {
        build: {
            files: [
                    {   
                    expand: true,
                    flatten: true,
                    src: 'src/main/less/*.less',
                    dest: 'target/css',
                    ext: '.css'
                    }
                    ]
        }
    },

    autoprefixer: {
        build: {
            options: {
                browsers: ['last 2 versions']
            },
            expand:true,
            flatten:true,
            src: 'target/css/*.css',
            dest: 'target/css/' 
        }
    },

    cssmin: {
        minify: {
            options: {
                banner: '<%= project.copyright %>'
            },
            expand: true,
            cwd: 'target/css/',
            src: '*.css',
            dest: 'target/css-min/',
            ext: '.min.css'
        }
    },



    /* Utilities */

    watch: {

        less: {
            options: {
                livereload:true,
                spawn: false
            },
            files: ['src/main/less/*.less','target/css-min/*.css','Gruntfile.js'],
            tasks: ['less', 'autoprefixer','cssmin']
        }
    }

});

grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-autoprefixer');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-watch');



grunt.registerTask('dev-css', ['less','autoprefixer','cssmin','watch:less']);

};

1 个答案:

答案 0 :(得分:0)

您的观看任务的文件数组不应包含'target/css-min/*.css'和&#39; Gruntfile.js '. Most important to remove the&#39; target / css-min / *。css&#39;`< / p>

自动修复器&#39;问&#39; cssmin&#39;不是发展所必需的。

请注意,更改较少的文件会触发较少的任务,这会再次更改'target/css-min/*.css',从而触发重新加载,自动修复程序也会再次更改'target/css-min/*.css'文件。

尝试:

   watch: {

        less: {
            options: {
                livereload:true,
                spawn: false
            },
            files: ['src/main/less/*.less'],
            tasks: ['less']
        }
    }