我使用grunt-contrib-less和grunt-contrib-watch在更改时自动编译少量文件。 当css不存在时,grunt会编译它。当一个css已经存在,手表看到更少的文件改变,css文件不会被修改。我必须每次删除它,让咕噜重新修改它。Grunt less不会替换css文件
少配置:
less: {
options: {
banner: '<%= meta.banner %>'
},
dev: {
options: {
sourceMap: true,
sourceMapFileInline: true,
compress: true
},
src: '<%= meta.dev.less %>/main.less',
dest: '<%= meta.prod.css %>/main.css'
},
prod: {
options: {
plugins: [
new(require('less-plugin-clean-css'))({
'advanced': true,
'compatibility': 'ie9'
})
],
},
src: '<%= meta.dev.less %>/main.less',
dest: '<%= meta.prod.css %>/main.css'
}
},
我的Windows 10和每一个用户下我不得不modifiy /在我的DIST文件夹中删除的文件的权限。 我该如何让grunt修改css文件?
编辑
腕表配置
watch: {
options: {
livereload: 6325
},
js: {
files: [ '<%= meta.dev.js %>/main.js', '<%= meta.dev.js %>/plugins/*.js' ],
tasks: [ 'newer:concat' ]
},
images: {
files: '<%= meta.dev.img %>/**/*.{png,jpg,gif,svg}',
tasks: [ 'newer:imagemin' ]
},
css: {
files: '<%= meta.dev.less %>/**/*.less',
tasks: [ 'newer:less:dev' ]
}
}
注册
grunt.registerTask('default', [ 'less:dev', 'concat', 'imagemin', 'copy', 'watch' ]);
咕噜输出(详细)
>> File "dev\less\elements\menu.less" changed.
Initializing
Command-line options: --verbose
Reading "Gruntfile.js" Gruntfile...OK
Registering Gruntfile tasks.
Reading package.json...OK
Parsing package.json...OK
Initializing config...OK
Loading "Gruntfile.js" tasks...OK
+ default, prod
Running tasks: newer:less:dev
Loading "grunt-newer" plugin
Registering "D:\[...]\static\node_modules\grunt-newer\tasks" tasks.
Loading "newer.js" tasks...OK
+ any-newer, newer, newer-clean, newer-postrun
Running "newer:less:dev" (newer) task
Options: cache="D:\\[...]\\static\\node_modules\\grunt-newer\\.cache", override=undefined
Files: dev/less/main.less -> dist/css/main.css
No newer files to process.
您是对的,如果我在main.less中添加一个css行,它将起作用。所以我摆脱了更新的观察任务,一切都很好。谢谢! – Kodiak