Gruntjs Grunt less won';不能替换css文件
我使用grunt contrib less和grunt contrib watch在更改时自动编译我的less文件。 当css不存在时,grunt会正常编译它。当css已经存在并且watch看到更改的文件较少时,css文件不会被修改。我每次都要删除它,让grunt修改后重新创建它 更少配置:Gruntjs Grunt less won';不能替换css文件,gruntjs,less,grunt-contrib-less,Gruntjs,Less,Grunt Contrib Less,我使用grunt contrib less和grunt contrib watch在更改时自动编译我的less文件。 当css不存在时,grunt会正常编译它。当css已经存在并且watch看到更改的文件较少时,css文件不会被修改。我每次都要删除它,让grunt修改后重新创建它 更少配置: less: { options: { banner: '<%= meta.banner %>' }, dev: { options: {
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'
}
},
Grunt输出(详细)
您是否添加了正确的手表配置
watch: {
less: {
files: ['less/**/*.less'], // which files to watch
tasks: ['less'],
options: {
nospawn: true
}
}
}
使用您的配置文件运行grunt:grunt.registerTask('myprofile',['less:dev','watch']) 以下是发生的情况:
- 您可以修改
菜单。减少
- watch检测到并运行
newer:less:dev
使用文件less:dev
作为唯一源(而不是main.less
)菜单.less
- 该文件没有更改,因此
断定它不需要再次运行该任务newer
main.less
包括menu.less
,但是newer
不知道它。
所以我建议的解决办法是去掉
较新的部件。嗨,我用Grunfile中的元素编辑了我的问题。你确定livereload工作正常吗?例如,如果您更改了一个html,请查看是否重新加载它?我都不明白什么是“新”任务。不,我不使用livereload。但是watch工作正常,当我更改less文件时,它会做出反应,如果它不存在,less会创建css文件。当我更新less文件时,我添加了grunt的详细输出。如果我在main.less中添加css行,你是对的。所以我去掉了新的手表任务,一切都很好。非常感谢。
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.
watch: {
less: {
files: ['less/**/*.less'], // which files to watch
tasks: ['less'],
options: {
nospawn: true
}
}
}