Показать сообщение отдельно
  #1086 (permalink)  
Старый 21.12.2013, 01:10
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

ура, не много разобрался в гранте)
вот что получилось)
var path = require("path"),
    fs = require("fs");

module.exports = function(grunt) {
    "use strict"

 var ignoredFolders = [".idea", "files"],
     ignoredFormats = [".nw", ".zip", ".exe"];

 grunt.initConfig({
    compress: {
        main: {
            options: {
                archive: 'app.zip'
            },
            files: [
                {src: ['**'],  filter: filter}// includes files in path
            ]
        }
    }
 });

function filter (src) {
    try {

        var extn = path.extname(src),
            folder = src.split(path.sep)[0];

           return  extn && ignoredFormats.indexOf(extn) == -1 &&
               ignoredFolders.indexOf(folder) == -1;
    }
    catch (e) {

        console.log(e);
    }

};


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


grunt.registerTask('callback', function(){

    if(!fs.existsSync("app.zip"))
       return;

    fs.renameSync("app.zip", "app.nw");

    var exec = require('child_process').exec;
    exec('app.nw', function callback(err, stdout, stderr){

        if(err)
            console.error(err);
    });

});

grunt.registerTask('default', ['compress', 'callback']);

};
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.

Последний раз редактировалось cyber, 21.12.2013 в 01:16.
Ответить с цитированием