Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在alias任务中设置配置数据_Javascript_Gruntjs - Fatal编程技术网

Javascript 如何在alias任务中设置配置数据

Javascript 如何在alias任务中设置配置数据,javascript,gruntjs,Javascript,Gruntjs,对不起,我犯了错误,我不是英国人 我无法理解为什么我的代码不能正常工作(我不擅长JS)。我希望根据通过cli传递的参数手动设置项目文件夹。嗯……这是我的行动: $ grunt --project=default Grunfile.js中的我的片段: grunt.initConfig({ ... sass: { main: { options: { style: 'nested', }, files: [{ ex

对不起,我犯了错误,我不是英国人

我无法理解为什么我的代码不能正常工作(我不擅长JS)。我希望根据通过cli传递的参数手动设置项目文件夹。嗯……这是我的行动:

$ 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,是我)