我正在尝试使用grunt在开发过程中将少量文件编译成css。在它的同时,观看和重新加载。我写的文件是:
module.exports = function(grunt) {
grunt.initConfig({
less: {
development: {
options: {
compress: true,
yuicompress: true,
optimization: 2
},
files: {
// target.css file: source.less file
"public/css/bootstrap.css": "./public/less/bootstrap.less"
}
}
},
watch: {
styles: {
// Which files to watch (all .less files recursively in the less directory)
files: ["public/less/*"],
tasks: ['less'],
options: {
livereload: true,
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['watch']);
};
我将此保存为项目根目录中的gruntfile.js。我做错了什么?
PS:我正在使用永远启动我的应用程序,并且在同一个终端窗口中我正在使用命令grunt watch,但是当我更改我的较少文件时没有任何反应。PPS:我的文件结构如下:
root
-- public
-- less
-- css
正如你在上面看到的那样,我的main less文件位于root / public / less / bootstrap.less,我希望在root / public / css / bootstrap.css上编译css
非常感谢
答案 0 :(得分:0)
您的设置似乎很好,但我在这里发现了一个问题......可能是它解决了您的问题
"public/css/bootstrap.css": "./public/less/bootstrap.less"
^^
你的网址是相同的但是在第二次出现时你添加了额外的" ./"我想如果你删除它会有效。
这是我自己的代码,它运行正常。
module.exports = function(grunt){
grunt.initConfig({
//pkg:grunt.file.readJSON('package.json'),
less:{
development:{
options:{
compress: true,
yuicompress: true,
optimization: 2
},
files:{
'webroot/css/meer/index/index2.css' : 'webroot/css/meer/index/index2.less'
}
}
},
watch: {
styles:{
options:{
livereload: true,
spawn: false,
event: ['added','deleted','changed']
},
files:['webroot/css/meer/index/*.less'],
tasks:['less']
}
}
});
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default',['watch']);
}