Описание nodeModule
Лаунчер запускает стандартные действия, исполняемая компонента которых разработана как модуль для nodejs. Он подключает соответствующий файл, обычно с именем server.js через встроенную функцию nodejs require() и, затем, запускает его, передавая параметры, полученные из страницы пользовательского интерфейса действия.
Для подключения nodeModule необходимо прописать в файле config.json с параметрами действия:
{ .... "launcher": "nodeModule", "launcherPrms": { "startAsThread": true, "javaScript": "server.js" } .... }
Параметр startAsThread (true|false) указывает, запускать действие в отдельном потоке или подключать код действия к коду launcher как библиотеку. По умолчанию false.
Значением параметра javaScript может быть любой JavaScript файл, не обязательно server.js. nodeModule будет искать этот файл в каталоге с действием.
Исполняемый файл действия server.js должен экспортировать функцию, которая принимает два параметра:
- args - объект с параметрами, полученными из пользовательского интерфейса в виде {<param1>: <value1>, <param2>: <value2>, ....}
- callback - функция callback(err, result), где err - объект с ошибкой или null; result - результат, возвращаемый действием для использования в задачах.
server.js может выглядеть следующим образом:
var log = require('../../lib/log')(module); module.exports = function(args, callback) { log.debug('Starting action server "', args.actionName, '" with parameters', args); if(!args.o) return callback(new Error('Objects are not selected')); callback(null, args.o); }
Подробнее о разработке действия можно прочитать на странице помощи Action editor