-
Notifications
You must be signed in to change notification settings - Fork 40
Javascript
Для создания модуля на Javascript и других скриптовых языках вам нужно лишь упаковать все файлы вашего проекта в обычный zip архив с именем вашего модуля.
Не используйте номер версии в имени архива
Если ваш Javascript модуль зависит от каких-то сторонних библиотек, то вы можете использовать NPM в качестве системы управления зависимостями.
Укажите ваши зависимости в файле package.json, как написано в документации по NPM.
Перед сборкой запустите команду npm install, чтобы директория node_modules оказалась в zip архиве вашего модуля.
Как и в случае с модулем на Java, ваш архив должен содержать файл дескриптора, в котором необходимо указать имя главного файла, который будет запущен агрегатом при установке модуля.
{
"main" : "myscript.js"
}Файл должен иметь имя <имя модуля>.json и располагаться в корне проекта.
Главный файл вашего модуля должен выглядеть как стандартный verticle в терминах фреймворка Vertx. Подробно о том, как писать verticle на Javascript написано в документации Vertx.
Простой пример:
var time = require('time');
exports.vertxStart = function() {
vertx.eventBus().consumer('cmd.clock.time', function(msg) {
return time.current();
});
};Описания всех остальных методов из API можно найти в руководстве по Java.
Если вы создаете функциональный модуль, который добавляет какие-то голосовые команды к Агрегату, то Агрегат будет отправлять вашему модулю события с JSON сообщением следующего формата:
{
markup: {
source : "подстрока из запроса",
name : "имя шаблона (если есть)",
value : "каноническое значение шаблона (если есть)",
data : {
"имя параметра" : "значение параметра",
"имя параметра" : "значение параметра",
...
},
children : [ массив вложенных markup ]
}
}Этот объект описывает фразу пользователя, разложенную по компонентам, описанным в шаблоне команды. Это своего роде "семантическое дерево", которое позволяет разобрать фразу по частям для выделения смысловых сущностей для реализации логики вашего модуля.
- Разработка в Eclipse
- Разработка в IntelliJ IDEA
- List of available modules
-
Where to get
-
How to install
-
How to use
-
Setting up
- Java
- Javascript
- Typescript
- Groovy
- Ruby
-
Query grammar
-
Pattern syntax
-
Dynamic patterns
-
Standard patterns
- Developing in Eclipse
- Developing in IntelliJ IDEA