1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/pjy-uitestcollection

Клонировать/Скачать
indigounitedautomaton.md 3.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 00:50 7537ab6

WHY?

Часто возникает необходимость выполнить какую-то повторяющуюся операцию, и обычно это время для быстрого создания специального скрипта. Тем не менее, от проекта к проекту вы обнаруживаете, что вам нужно повторно использовать задачу, которую вы уже создали ранее.

Automaton упрощает этот процесс, позволяя быстро настроить автофайл, который описывает то, что вы хотите сделать, с помощью упорядоченного списка задач, которые должны быть выполнены для завершения задачи в целом.

Небольшая деталь, которая делает Automaton мощным инструментом, заключается в том, что каждый созданный вами автофайл сам по себе может использоваться другим автофайлом, превращая первый в одну задачу (представьте коробки внутри коробок). Если вам интересно, вы можете взглянуть на исходный код и убедиться сами, что даже задачи, которые предоставляет Automaton, являются простыми автофайлами.

Простая задача

module.exports = function (task) {
    task
    .id('my-task')
    .name('My task')
    .do('mkdir', {
        description: 'Create the project root folder',
        options: {
            dirs: ['some_dir']
        }
    })
    .do('cp', {
        description: 'Copy some file',
        options: {
            files: {
                'some_file': 'some_dir/dest_file'
            }
        }
    });
};

Запуск с nodejs

var automaton = require('automaton').create(/*options go here*/);

// Поскольку автофайлы сами по себе являются модулями узла,
// вы можете просто потребовать их
// Обратите внимание, что вместо этого вы могли бы объявить
// модуль встроенным, в JSON.
var myTask = require('my_autofile');

// Обратите внимание, что мы запускаем задачу, которую вы загрузили с помощью node's
// require, и передаем ее в качестве первого аргумента функции run().
// Вместо этого вы можете загрузить задачу с помощью loadTask(), а затем просто
// передать ее идентификатор (строку) в качестве первого аргумента run. Вы можете найти пример этого ниже, в разделе «Ведение журнала».
automaton.run(myTask, { 'some_option': 'that is handy' }, function (err) {
    if (err) {
        console.log('Something went wrong: ' + err.message);
    } else {
        console.log('All done!');
    }
});

Задача Grunt

module.exports = function (task) {
    task
    .id('bogus')
    .do('mincss', {
        grunt: true,
        options: {
            files: {
                'path/to/output.css': 'path/to/input.css'
            }
        }
    });
};

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/pjy-uitestcollection.git
git@api.gitlife.ru:oschina-mirror/pjy-uitestcollection.git
oschina-mirror
pjy-uitestcollection
pjy-uitestcollection
master