首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何引用Grunt文件中的节以避免冗余?

如何引用Grunt文件中的节以避免冗余?
EN

Stack Overflow用户
提问于 2015-07-19 11:27:15
回答 1查看 24关注 0票数 1

这似乎是gruntgrunt-contrib-copy特定问题,但实际上适用于更通用的范围。

冗余配置

我有下面的Gruntfile.js

代码语言:javascript
复制
module.exports = function(grunt) {
  // Project configuration.
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
   
    copy: {
      examples: {
        cli: {
          files: [
            { src: ['src/client.js'], dest: 'examples/client.js' }
          ]
        },
        srv: {
          files: [
            { src: ['src/server.js'], dest: 'examples/server.js' }
          ]
        },
        all: { /* ATTENTION: Redundant part! */
          files: [
            { src: ['src/client.js'], dest: 'examples/client.js' },
            { src: ['src/server.js'], dest: 'examples/server.js' }
          ]
        }
      },
    },
  });

  grunt.loadNpmTasks('grunt-contrib-copy');

  grunt.registerTask('default', [...]);
  grunt.registerTask('build-examples', ['copy:examples']);
};

但这是多余的!

试图避免冗余

我想做这样的事情:

代码语言:javascript
复制
all: {
  files: examples.cli.files.concat(examples.srv.files)
}

但这是不可能的。

这里的最佳做法是什么?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-19 11:31:57

记住,这是JavaScript代码,所以您可以在JavaScript代码中做任何事情:

代码语言:javascript
复制
module.exports = function(grunt) {
  // Project configuration.
  var clientFiles = [
    { src: ['src/client.js'], dest: 'examples/client.js' }
  ];
  var serverFiles = [
    { src: ['src/server.js'], dest: 'examples/server.js' }
  ];
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    copy: {
      examples: {
        cli: {
          files: clientFiles
        },
        srv: {
          files: serverFiles
        },
        all: {
          files: clientFiles.concat(serverFiles)
        }
      },
    },
  });

  grunt.loadNpmTasks('grunt-contrib-copy');

  grunt.registerTask('default', [...]);
  grunt.registerTask('build-examples', ['copy:examples']);
};
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31500699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档