Grunt再體驗:支援LESS,Mocha,使用cron來定期運行Grunt Task

來源:互聯網
上載者:User

var path = require('path');module.exports = function (grunt) {    grunt.initConfig({        ftpscript: {            uploadFixRateData: {                options: {                    host: 'cadcptdgaop5',                    port: 21,                    passive: false                },                files: [                    { expand: true, cwd: './tmp', src: ['fixed_report_count.txt'], dest: '/data/' }                ]            }        },        shell: {            exportFixRateData: {                command: '../WebService/DbAdmin.exe -e tmp/fixed_report_count.txt',                options: {                    async: false,                    stdout: true                }            }        },        less: {            dev: {                options: {                    paths: ["../WebSite/public/less"]                },                files: [                    { "../WebSite/public/css/site.css": "../WebSite/public/less/site.less" },                    { "../WebSite/public/css/page_send_report.css": "../WebSite/public/less/page_send_report.less" },                    { "../WebSite/public/css/page_data_mining.css": "../WebSite/public/less/page_data_mining.less" },                    { "../WebSite/public/css/page_bucket_table.css": "../WebSite/public/less/page_bucket_table.less" }                ]            },            prod: {                options: {                    paths: ["../WebSite/public/less"],                    yuicompress: true                },                files: [                    { "../WebSite/public/css/site.css": "../WebSite/public/less/site.less" },                    { "../WebSite/public/css/page_send_report.css": "../WebSite/public/less/page_send_report.less" },                    { "../WebSite/public/css/page_data_mining.css": "../WebSite/public/less/page_data_mining.less" },                    { "../WebSite/public/css/page_bucket_table.css": "../WebSite/public/less/page_bucket_table.less" }                ]            }        },        mochacli: {            options: {                //require: ['should'],                files: '../Test/test/*.js'            },            spec: {                options: {                    reporter: 'spec'                }            },            "default": {            }        }    });    require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);    // Backup and Restore    grunt.registerTask(        "backup_fix_rate_data",        "upload exported fix rate data to backup server",        ["shell:exportFixRateData", "ftpscript:uploadFixRateData"]);    // Build Compile    //    grunt.registerTask(        "dev",        "Compile and make",        ["less:dev"]);    grunt.registerTask(        "prod",        "Compile and release",        ["less:prod"]);    grunt.registerTask(        "ut",        "Run Mocha Unit Test",        ['mochacli:default']);    grunt.registerTask(        "spec",        "Run Mocha Unit Test",        ['mochacli:spec']);};

var exec = require('child_process').exec;var cronJob = require('cron').CronJob;var schedule = require('node-schedule');function _runGruntTask(taskName) {    exec("grunt " + taskName, function (error, stdout, stderr) {        if (stdout) console.log(stdout);        if (stderr) console.log('stderr: ' + stderr);        if (error !== null) {            console.log('exec error: ' + error);        }    });}// You can generate the cron pattern in:// http://www.becron.com///new cronJob({    desc: 'Backup Fix Rate Data File in every Monday 2:30 A.M.',    cronTime: '0 30 2 * * 1',    onTick: function() {        _runGruntTask('backup_fix_rate_data');    }}).start();

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.