实现grunt任务可读取一份配置文档分析多个数据源的功能

技术文档网 2021-04-26

实现grunt任务可读取一份配置文档分析多个数据源的功能。

2014.12.22 对任务程序做了改造,数据源不再要求一个默认或者指定的路径,而是保持与config文件所在路径一致。

这样可以通过配置grunt的方式实现对多个数据源的统一处理。

方式是修改数据源为相同的名称,放在不同的文件夹,通过grunt-contrib-copy任务复制config文件到这些目录,数据解析任务执行时会遍历这些目录,从每个config文件所在目录下的数据文件生成一份报告。

用同一个配置文件,多份数据源,生成多个报告文件的grunt配置范例:

var $path = require('path');

module.exports = function(grunt) {
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        copy : {
            main : {
                files : [
                    {
                        expand : true,
                        cwd : 'analysis',
                        src : 'mobileblog.json',
                        dest : 'analysis/target/sample/'
                    },
                    {
                        expand : true,
                        cwd : 'analysis',
                        src : 'mobileblog.json',
                        dest : 'analysis/target/2014-12-6/'
                    },
                    {
                        expand : true,
                        cwd : 'analysis',
                        src : 'mobileblog.json',
                        dest : 'analysis/target/2014-12-7/'
                    }
                ]
            }
        },
        generateDiagram : {
            options: {},
            main : {
                path : $path.resolve(__dirname, 'analysis/target')
            }
        }
    });

    grunt.loadTasks('tasks');
    grunt.loadNpmTasks('log-analysis');
    grunt.loadNpmTasks('grunt-contrib-copy');

    grunt.registerTask(
        'default',
        'the default task',
        [
            'copy:main',
            'generateDiagram:main'
        ]
    );

};

相关文章

  1. 使用NodeJS搭建你的微信机器人

    你可以把该程序运行在任何支持 NodeJS 的云平台,或者你自己的 VPS 上。 首先你需要理解几个概念: node.js -使用v8引擎的服务器端 JavaScript npm - nodejs

  2. webpack和browserify用法

    这两种技术都是使用按需加载的模块化的思想来开发项目,让我可以按照node的require模块的方法写前端代码。。 两者用法、思想相差不大 1.webpack的安装及使用方法 安装webpack:

  3. 基于webpack的前后端分离开发实践

    前后端分离开发分析 前后端开发分离,即是前后端除商定 API 接口外,其他的开发工作都不再相互干涉,前端开发进度不再受后端影响。 以开发一个 SPA 单页应用为例,日常开发工作流程变为: 前后端同设

  4. Node多版本管理

    为每个项目指定运行的Node版本 nvm 安装nvm, 用于下载和管理NodeJS的版本$ curl -o- https://raw.githubusercontent.com/creationix

  5. nodejs的客户端deploy墨客子链

    前提条件: 已经在本地建了一个私有链,已经启动了vnode,已经启动两个scs 在vnode上已经有了主账户,并已经启动miner.start(),并且主账户已经有至少200个moac 假设你的主账

随机推荐

  1. 使用NodeJS搭建你的微信机器人

    你可以把该程序运行在任何支持 NodeJS 的云平台,或者你自己的 VPS 上。 首先你需要理解几个概念: node.js -使用v8引擎的服务器端 JavaScript npm - nodejs

  2. webpack和browserify用法

    这两种技术都是使用按需加载的模块化的思想来开发项目,让我可以按照node的require模块的方法写前端代码。。 两者用法、思想相差不大 1.webpack的安装及使用方法 安装webpack:

  3. 基于webpack的前后端分离开发实践

    前后端分离开发分析 前后端开发分离,即是前后端除商定 API 接口外,其他的开发工作都不再相互干涉,前端开发进度不再受后端影响。 以开发一个 SPA 单页应用为例,日常开发工作流程变为: 前后端同设

  4. Node多版本管理

    为每个项目指定运行的Node版本 nvm 安装nvm, 用于下载和管理NodeJS的版本$ curl -o- https://raw.githubusercontent.com/creationix

  5. nodejs的客户端deploy墨客子链

    前提条件: 已经在本地建了一个私有链,已经启动了vnode,已经启动两个scs 在vnode上已经有了主账户,并已经启动miner.start(),并且主账户已经有至少200个moac 假设你的主账