Javascript 如何在alias任务中设置配置数据
对不起,我犯了错误,我不是英国人 我无法理解为什么我的代码不能正常工作(我不擅长JS)。我希望根据通过cli传递的参数手动设置项目文件夹。嗯……这是我的行动:Javascript 如何在alias任务中设置配置数据,javascript,gruntjs,Javascript,Gruntjs,对不起,我犯了错误,我不是英国人 我无法理解为什么我的代码不能正常工作(我不擅长JS)。我希望根据通过cli传递的参数手动设置项目文件夹。嗯……这是我的行动: $ grunt --project=default Grunfile.js中的我的片段: grunt.initConfig({ ... sass: { main: { options: { style: 'nested', }, files: [{ ex
$ grunt --project=default
Grunfile.js中的我的片段:
grunt.initConfig({
...
sass: {
main: {
options: {
style: 'nested',
},
files: [{
expand: true,
cwd: '<%= path %>',
src: ['*.scss'],
dest: '<%= path %>',
ext: '.css'
}]
}
},
watch: {
sass: {
files: '<%= path %>/**/*.scss',
tasks: ['sass'],
options: {
livereload: true,
},
},
},
...
});
grunt.registerTask('default','', function() {
// Get project name
var project = grunt.option('project') || 'default';
....
if (project == 'default') {
grunt.config.set('path', '../server/www/webapp.com/css');
}
...
if (project && development && !production) {
grunt.task.run('watch:sass');
}
}
grunt.initConfig({
...
sass:{
主要内容:{
选项:{
样式:“嵌套”,
},
档案:[{
是的,
cwd:“”,
src:['*.scss'],
目标:'',
分机:'.css'
}]
}
},
观察:{
sass:{
文件:'/***.scss',
任务:['sass'],
选项:{
利弗雷罗德:没错,
},
},
},
...
});
registerTask('default','',function(){
//获取项目名称
var project=grunt.option('project')||'default';
....
如果(项目==‘默认’){
grunt.config.set('path','../server/www/webapp.com/css');
}
...
if(项目开发和生产){
grunt.task.run('watch:sass');
}
}
任务运行时,一切似乎都正常,例如,当我在上面设置的项目文件夹中更改*.scss文件时,watch
Task确实正确地检测到了更改,但是sass
Task没有输出任何内容。然而,当我在grunt.initConfg({})中添加path
键时,
一切正常
有人能帮我吗?复制我在……上给出的相同答案 这是因为默认情况下,监视任务会在子进程中生成任务。因此,对grunt.config.set的调用只会修改当前进程中的配置对象,而不会修改子进程。若要禁止监视生成任务,请使用
spawn:false
选项
watch: {
sass: {
options: { spawn: false },
files: '<%= path %>/**/*.scss', // perfect!
tasks: ['sass'],
},
},
观察:{
sass:{
选项:{spawn:false},
文件:'/***.scss',//完美!
任务:['sass'],
},
},
谢谢!在github,是我)