Skip to content

Overview

sh
$ npm add @dpg.gg/application
sh
$ pnpm add @dpg.gg/application
sh
$ yarn add @dpg.gg/application
sh
$ bun add @dpg.gg/application

Production ready preset из библиотек и бизнес-логики, который объединяет и расширяет функционал @dpg.gg/core, @dpg.gg/router и @dpg.gg/loaders


Preset включает в себя:

Application

createApp - hook alias
ts
import type { IApplicationOptions } from "@dpg.gg/application";
import { Application, createApp } from "@dpg.gg/application";

Пример использования:

ts
createApp({
	resources: "/resources.json",
	stores: "/stores.json",
	schema: "/schema.json",
}).mount(document.querySelector("#app"));

Создание экземпляра

Сздать экземпляр можно через new Application(config?) или createApp(config?), где config - это опциональный IApplicationOptions объект

Methods

register(config)

  • Arg: config: IApplicationOptions

Регистрация конфигурации в случае если был создан экземпляр приложения без конфигурации

ts
await app.register({ schema: "/schema.json" });

bootstrap()

Инициализация процесса создания экземляров и загрузки всех ресурсов

ts
await app.bootstrap();

mount(element)

  • Arg: element: ContainerNode

Выполнение обработки схемы и отрисовка ее в переданный элемент

ts
app.mount(document.querySelector("#app"));

Events

  • app:init- Вызывается при создании экземпляра приложения
  • app:registred- Вызывается при выполнении метода register или при передаче config объекта на этапе создания экземпляра приложения
  • app:bootstrap:start - Вызывается при вызове bootstrap метода
  • app:bootstrap:finish - Вызывается при завершении обработки bootstrap метода
  • app:mounted - Вызывается при завершении обработки mount метода

IApplicationOptions

ts
interface IApplicationOptions {
	resources: string;
	stores: string;
	schema: string;
}