grunt传参:更改less自动编译时参数无法保存怎么解决
项目用的grunt打包以及自动编译less,需要传参数确定皮肤类型等数据。
grunt dev:args
同时watch了less的修改情况。
问题是less修改之后grunt重新编译less,就没有了参数,但是less需要这些参数来确定颜色、logo名等数据。
尝试过在grunt定义一个变量到grunt对象,但是依然读取不到
请问怎样才能保证watch的时候能拿到第一次的参数?
部分grunt代码如下
grunt.registerTask('default', function(arg) {
var json = grunt.file.readJSON('package.json');
grunt.themeStyle = json['theme'][arg];
grunt.task.run(['clean', 'copy', 'less', 'requirejs', 'concat', 'cssmin', 'filerev', 'usemin', 'imagemin', 'htmlmin']);
});
grunt.registerTask('dev', function(arg) {
var json = grunt.file.readJSON('package.json');
grunt.themeStyle = json['theme'][arg];
grunt.logoName = arg;
grunt.task.run(['less', 'connect', 'watch']);
});
less: {
compile: {
expand: true,
cwd: './',
src: ['app/styles/src/**/*.less'],
dest: './',
ext: '.css',
options: {
modifyVars: {
// 'proName': '<%= pkg.proName %>'
'theme': '<%= grunt.themeStyle || "red"%>',
'logoName': '<%= grunt.logoName || "HS"%>'
}
}
}
},
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Hi,
今天我也遇到了这个问题,研究了下Grunt API,
发现可以用下面的方式去实现,
Thanks,
Chasal