Статическая маршрутизация

На данном этапе осталось только уточнить, как фреймворк узнает, что нужно вывести именно данный шаблон по корневому адресу. Это указывается в настройках приложения, в файле settings.config:

... //------------------------------------------------------------- // //en Router settings // //------------------------------------------------------------- routes:[ { uri: "", controller: "fcf:NServer/NControllers/Page.js", source: "templates/pages/main-page.tmpl", title: "FCF Application", description: "Main page of the FCF application", }, { uri: "favicon.ico", controller: "fcf:NServer/NControllers/File.js", source: "favicon.ico", }, { uri: "/templates/*", controller: "fcf:NServer/NControllers/File.js", source: "templates", }, { uri: "/translations/*", controller: "fcf:NServer/NControllers/File.js", source: "translations", }, { uri: "robots.txt", controller: "fcf:NServer/NControllers/File.js", source: "robots.txt", }, ], ...

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

  • string url - адрес маршрута.

    Допускаются конструкции с незавершенным форматом адреса, которые могут заканчиваться символом *. Остаточная часть адреса попадает в свойство subUri объекта fcf.RouteInfo

    Так же имеется возможность задания адреса с применением переменных частей адреса. Для этого в параметре URL используется конструкция ${PARAM_NAME}. Пример:

    ... url: "/home/${part}", ...

    При обращении по данному адресу в свойство args объекта fcf.RouteInfo будет добавлена запись "part" со значением, соответствующему разделу вызванного URL

  • string url - Путь к контроллеру обрабатывающему запрос

  • string title - Заголовок элемента маршрута. Так же используется в контроллере "fcf:NServer/NControllers/Page.js" для заполнения тега title в заголовке страницы.

  • string description - Описание элемента маршрута. Так же используется в контроллере "fcf:NServer/NControllers/Page.js" для заполнения тега meta description в заголовке страницы.

Остальные параметры для каждого типа контроллера специфичны.

Так для контроллера "fcf:NServer/NControllers/Page.js" свойство "source" хранит в себе путь к шаблону, который будет отображаться в виде страницы.

Для контроллера "fcf:NServer/NControllers/File.js" свойство "source" хранит в себе путь к файлу или директории, которая будет доступна со стороны браузера.