Функция module module(object a_options) Выполняет объявление модуля FCF

Так как файлы JS доступны на стороне сервера и на стороне браузера и при этом сервер следит за их изменениями, в фреймворке используется свой механизм загрузки модулей JS, который реализуется данным методом.

Файлы модулей JS создаются плагинами VSCodeFCFFramework, SublimeFCFPlugin или командой fcfmngr:

$ fcfmngr create module [MODULE_NAME]
Исходный файл fcf:fcf.js Namespace fcf Аргументы: object a_options - Объект описания модуля.

string name - Путь к файлу модуля в нотации FCF, которое также является его именем.

[string] dependencies - Массив зависимостей модуля. Данные зависимости подгружаются первыми и доступны, как аргументы функции модуля (свойство module), в последовательности указанной в массиве.

[string] lazy - Массив зависимостей модуля, которые загружаются после загрузки модуля. Доступ к данным модулей указанных в данном параметре осуществляется только через глобальные переменные. Используется в случае циклических зависимостей модулей.

function module - Функция модуля, которая должна возвращать данные самого модуля. В качестве параметров выступают данные модулей указанных в свойстве dependencies.

Примеры Пример 1 Пример JS файла с объявленным модулем fcf.module({ name: "fcfManagement:templates/pages/translations/files-tab.hooks.js", dependencies: ["fcf:NSystem/languages.js"], lazy: [], module: function(languages){ return { // // Object of hooks for programmatically populated arguments // hooksProgramableArgument: { // // @result Returns the value of an argument or a Promise object // "files": function(a_taskInfo){ return languages.getTranslationFiles(); } }, }; } });