关于网友提出的“ (javascript)Grunt中watch和less配合控制less文件的自动编译,怎么配置文件名/路径?通配符的使用问题”问题疑问,本网通过在网上对“ (javascript)Grunt中watch和less配合控制less文件的自动编译,怎么配置文件名/路径?通配符的使用问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: (javascript)Grunt中watch和less配合控制less文件的自动编译,怎么配置文件名/路径?通配符的使用问题
描述:我想在 Gruntfile.js
中设置watch监听目录下的所有.less文件的更改(第一步),同时触发相应less文件编译为.css文件(第二步)。
我目前的设置是这样的:
module.exports = function(grunt){
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
watch: {
less: {
files: ['public/**/*.less'],
tasks:['less:task1'],
options: {livereload:false}
},
css: {
files: ['public/**/*.css'],
options: {livereload:true}
}
},
less: {
task1:{
options: {
compress: false,
yuicompress: false
},
files: {
"public/css/style1.css": "public/css/style1.less",
"public/css/style2.css": "public/css/style2.less"
//...
}
}
},
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.registerTask('default',['watch']);
grunt.registerTask('lessc',['less:task1']);
};
以上配置目前只实现了第一步watch的监听,在less任务中,我现在只能列举出每一个存在的less文件。
但是我想用通配符来做。如果用通配符这样写的话:
files: {
"public/**/*.css": "public/**/*.less"
}
结果是编译的时候真的生成了**
文件名的文件夹和文件(如下)。现在我不知道这里应该怎么写呢?求教。
>> File "public/css/style1.less" changed.
Running "less:task1" (less) task
File tpl/**/*.css created
解决方案1:直接用构建工具啊。。。grunt配置太麻烦了。
例如 我们团队开发的 silky, 还有我的个人版 slow-cli 或者用京东的 jdf 都可以。 没必要这么麻烦...
npm 上都有。
开发直接使用, 打包直接构建,肯定满足你一般的开发需求的。
解决方案2:less :{
main: {
expand: true,
cwd: './less/',
src: ['**/*.less'],
dest: './css/',
ext: '.css'
}
},
以上介绍了“ (javascript)Grunt中watch和less配合控制less文件的自动编译,怎么配置文件名/路径?通配符的使用问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1795032.html