我在家中使用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']);
};
答案 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']
}
}