Переход на новые правила

После перехода на версию 2.x у меня посыпались ошибки с отсутствующими переменными, объявленными в отдельном файле _rules.js. Там же я держу и общие функции для всех скриптов.

В описании новых правил я не смог толком найти про пресловутые defineAlias, хотя с функциями что-то отыскал. Что делать? Не объявлять же их везде или переходить обратно на dev[module/controls]

В версии 2.х раздельные пространства имен.
Подробней:
https://wirenboard.com/wiki/Движок_правил_wb-rules_2.0#.D0.98.D0.B7.D0.BE.D0.BB.D1.8F.D1.86.D0.B8.D1.8F_.D1.81.D1.86.D0.B5.D0.BD.D0.B0.D1.80.D0.B8.D0.B5.D0.B2

Это не то. Я там не нашёл ничего про defineAlias.
Если Вы про module.static, то како-то ужасное нагромождение получается с избытком кода. Да и как для моей ситуации Даже это применить - пока не представляю. Все же раньше хорошо было. Что случилось ? Зачем стали менять и усложнять? Теперь опять тратить время на изучение и переделку придётся.

Не хватает описания или ПРИМЕРОВ.

Если поделитесь опытом, то буду благодарен.

Значит я неправильно понял вопрос.
defineRules хорошо описано в https://github.com/wirenboard/wb-rules#Просмотр-и-выполнение-правил

Извиняюсь, я сам некорректно написал. Речь идёт о defineAlias, вроде правильно. ?

Тогда - там же,

Если Вы про это:

defineAlias(name, "device/param") задаёт альтернативное имя для параметра. Например, после выполнения defineAlias("heaterRelayOn", "Relays/Relay 1"); выражение heaterRelayOn = trueозначает то же самое, что dev["Relays/Relay 1"] = true.

то у меня в старых правилах именно так было и сделано.

Я не об этом, а о том, что теперь в новых правилах нельзя их определить все в одном месте и использовать/подключать в любых других скриптах.

Нельзя разве было добавить фразу global, чтобы алиас стал глобальным или для определения было бы достаточно одного названия “DefineAlias”, чтобы объект стал видимым в других js-файлах???

Дайте, кто-нибудь, пожалуйста, пример как подключать и применять алиасы в других скриптах!!!

Про модули тут:


Я давал выше эту ссылку.

Да нет там таких примеров!!! Я это видел и начинал с этого тему.

Вы мне подсовываете вывод переменных и функций, где для вывода одной переменной надо добавить 20% текста к старым правилам:

exports.hello = function(text) {
    log("Hello from module, {}", text);
};

Файл сценария scenario.js
var m = require("myModule");
m.hello("world"); // выведет в лог "Hello from module, world"

Если бы только это надо было поменять, то хрен бы с ним, но я вам про

DefineAlias(devName, ‘dev/control’)

Добавьте в ваш файл примеры с алиасами, чтобы не только я мог узнать о скрытых “фишках” ваших новых правил.