1

当我只将字符串传递给 grunt.task.run() 时,我遇到了一些问题,它将按如下方式工作

grunt.registerTask('buildAll', function() {
  ['url-1', 'url-2'].forEach(function(config) {
    grunt.task.run('updateConfig:'+ config, 'requirejs');
  });
});

grunt.registerTask('updateConfig', function(config) {
  // console.log(config);
  grunt.config('requirejs.compile.options.baseUrl', config);
  // console.log(grunt.config('requirejs.compile.options'));
});

但是当我传递像 {name:'a', baseUrl: 'path2'} 这样的对象时,将取消定义代码,如下所示:

grunt.registerTask('buildAll', function() {
  [{name:'main-1', baseUrl:'./path1/'}, {name:'main-2', baseUrl:'./path2/'}].forEach(function(config) {
    grunt.task.run('updateConfig:'+ config, 'requirejs');
  });
});

grunt.registerTask('updateConfig', function(config) {
  // console.log(config);
  grunt.config('requirejs.compile.options.baseUrl', config.baseUrl);
  grunt.config('requirejs.compile.options.name', config.name);
  // console.log(grunt.config('requirejs.compile.options'));
});   

任何解决方案。我需要为一个项目构建 mutlpile requirejs main 并且配置非常不同?

4

0 回答 0