@dxtmisha/wiki 0.56.0 → 0.57.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{defineProperty-149Ahniv.js → defineProperty-3CuEayIP.js} +4 -4
- package/dist/library.js +1 -1
- package/dist/storybook.js +1 -1
- package/package.json +1 -1
- package/src/media/functional/nitro-basic/about/about.en.mdx +52 -0
- package/src/media/functional/nitro-basic/about/about.ru.mdx +52 -0
- package/src/media/functional/nitro-basic/about/about.vi.mdx +52 -0
- package/src/media/functional/nitro-basic/composables/useHeaders/useHeaders.en.mdx +29 -0
- package/src/media/functional/nitro-basic/composables/useHeaders/useHeaders.ru.mdx +29 -0
- package/src/media/functional/nitro-basic/composables/useHeaders/useHeaders.vi.mdx +29 -0
- package/src/media/functional/nitro-basic/functions/getRequestOrigin/getRequestOrigin.en.mdx +24 -0
- package/src/media/functional/nitro-basic/functions/getRequestOrigin/getRequestOrigin.ru.mdx +24 -0
- package/src/media/functional/nitro-basic/functions/getRequestOrigin/getRequestOrigin.vi.mdx +24 -0
- package/src/media/functional/nitro-basic/functions/getRequestUrl/getRequestUrl.en.mdx +24 -0
- package/src/media/functional/nitro-basic/functions/getRequestUrl/getRequestUrl.ru.mdx +24 -0
- package/src/media/functional/nitro-basic/functions/getRequestUrl/getRequestUrl.vi.mdx +24 -0
- package/src/media/functional/nitro-basic/functions/initApi/initApi.en.mdx +23 -0
- package/src/media/functional/nitro-basic/functions/initApi/initApi.ru.mdx +23 -0
- package/src/media/functional/nitro-basic/functions/initApi/initApi.vi.mdx +23 -0
- package/src/media/functional/nitro-basic/functions/initClientRouter/initClientRouter.en.mdx +21 -0
- package/src/media/functional/nitro-basic/functions/initClientRouter/initClientRouter.ru.mdx +21 -0
- package/src/media/functional/nitro-basic/functions/initClientRouter/initClientRouter.vi.mdx +21 -0
- package/src/media/functional/nitro-basic/functions/initCookieStorage/initCookieStorage.en.mdx +18 -0
- package/src/media/functional/nitro-basic/functions/initCookieStorage/initCookieStorage.ru.mdx +18 -0
- package/src/media/functional/nitro-basic/functions/initCookieStorage/initCookieStorage.vi.mdx +18 -0
- package/src/media/functional/nitro-basic/functions/initHeaders/initHeaders.en.mdx +16 -0
- package/src/media/functional/nitro-basic/functions/initHeaders/initHeaders.ru.mdx +16 -0
- package/src/media/functional/nitro-basic/functions/initHeaders/initHeaders.vi.mdx +16 -0
- package/src/media/functional/nitro-basic/functions/initPluginApiCache/initPluginApiCache.en.mdx +17 -0
- package/src/media/functional/nitro-basic/functions/initPluginApiCache/initPluginApiCache.ru.mdx +17 -0
- package/src/media/functional/nitro-basic/functions/initPluginApiCache/initPluginApiCache.vi.mdx +17 -0
- package/src/media/functional/nitro-basic/functions/initPluginBasic/initPluginBasic.en.mdx +34 -0
- package/src/media/functional/nitro-basic/functions/initPluginBasic/initPluginBasic.ru.mdx +34 -0
- package/src/media/functional/nitro-basic/functions/initPluginBasic/initPluginBasic.vi.mdx +34 -0
- package/src/media/functional/nitro-basic/functions/initScriptsJson/initScriptsJson.en.mdx +17 -0
- package/src/media/functional/nitro-basic/functions/initScriptsJson/initScriptsJson.ru.mdx +17 -0
- package/src/media/functional/nitro-basic/functions/initScriptsJson/initScriptsJson.vi.mdx +17 -0
- package/src/media/functional/nitro-basic/functions/initServerRouter/initServerRouter.en.mdx +20 -0
- package/src/media/functional/nitro-basic/functions/initServerRouter/initServerRouter.ru.mdx +20 -0
- package/src/media/functional/nitro-basic/functions/initServerRouter/initServerRouter.vi.mdx +20 -0
- package/src/media/functional/nitro-basic/functions/initServerStorage/initServerStorage.en.mdx +16 -0
- package/src/media/functional/nitro-basic/functions/initServerStorage/initServerStorage.ru.mdx +16 -0
- package/src/media/functional/nitro-basic/functions/initServerStorage/initServerStorage.vi.mdx +16 -0
- package/src/media/functional/nitro-basic/functions/initSsrApp/initSsrApp.en.mdx +20 -0
- package/src/media/functional/nitro-basic/functions/initSsrApp/initSsrApp.ru.mdx +20 -0
- package/src/media/functional/nitro-basic/functions/initSsrApp/initSsrApp.vi.mdx +20 -0
- package/src/media/functional/nitro-basic/functions/uiBootstrapClient/uiBootstrapClient.en.mdx +14 -0
- package/src/media/functional/nitro-basic/functions/uiBootstrapClient/uiBootstrapClient.ru.mdx +14 -0
- package/src/media/functional/nitro-basic/functions/uiBootstrapClient/uiBootstrapClient.vi.mdx +14 -0
- package/src/media/functional/nitro-basic/functions/uiBootstrapServer/uiBootstrapServer.en.mdx +19 -0
- package/src/media/functional/nitro-basic/functions/uiBootstrapServer/uiBootstrapServer.ru.mdx +19 -0
- package/src/media/functional/nitro-basic/functions/uiBootstrapServer/uiBootstrapServer.vi.mdx +19 -0
- package/src/media/functional/nitro-basic/functions/uiCookieStorage/uiCookieStorage.en.mdx +13 -0
- package/src/media/functional/nitro-basic/functions/uiCookieStorage/uiCookieStorage.ru.mdx +13 -0
- package/src/media/functional/nitro-basic/functions/uiCookieStorage/uiCookieStorage.vi.mdx +13 -0
- package/src/media/functional/nitro-basic/functions/uiCreateApp/uiCreateApp.en.mdx +43 -0
- package/src/media/functional/nitro-basic/functions/uiCreateApp/uiCreateApp.ru.mdx +43 -0
- package/src/media/functional/nitro-basic/functions/uiCreateApp/uiCreateApp.vi.mdx +43 -0
- package/src/media/functional/nitro-basic/functions/uiCreateClientApp/uiCreateClientApp.en.mdx +31 -0
- package/src/media/functional/nitro-basic/functions/uiCreateClientApp/uiCreateClientApp.ru.mdx +31 -0
- package/src/media/functional/nitro-basic/functions/uiCreateClientApp/uiCreateClientApp.vi.mdx +31 -0
- package/src/media/functional/nitro-basic/functions/uiCreateServerApp/uiCreateServerApp.en.mdx +34 -0
- package/src/media/functional/nitro-basic/functions/uiCreateServerApp/uiCreateServerApp.ru.mdx +34 -0
- package/src/media/functional/nitro-basic/functions/uiCreateServerApp/uiCreateServerApp.vi.mdx +34 -0
- package/src/media/functional/nitro-basic/functions/uiCreateSsrRouter/uiCreateSsrRouter.en.mdx +17 -0
- package/src/media/functional/nitro-basic/functions/uiCreateSsrRouter/uiCreateSsrRouter.ru.mdx +17 -0
- package/src/media/functional/nitro-basic/functions/uiCreateSsrRouter/uiCreateSsrRouter.vi.mdx +17 -0
- package/src/media/functional/nitro-basic/functions/uiId/uiId.en.mdx +13 -0
- package/src/media/functional/nitro-basic/functions/uiId/uiId.ru.mdx +13 -0
- package/src/media/functional/nitro-basic/functions/uiId/uiId.vi.mdx +13 -0
- package/src/media/functional/nitro-basic/functions/uiServerStorage/uiServerStorage.en.mdx +13 -0
- package/src/media/functional/nitro-basic/functions/uiServerStorage/uiServerStorage.ru.mdx +13 -0
- package/src/media/functional/nitro-basic/functions/uiServerStorage/uiServerStorage.vi.mdx +13 -0
- package/src/media/functional/nitro-basic/setup/setup.en.mdx +133 -0
- package/src/media/functional/nitro-basic/setup/setup.ru.mdx +133 -0
- package/src/media/functional/nitro-basic/setup/setup.vi.mdx +133 -0
- package/src/media/functional/nitro-basic/functions/getInject.en.mdx +0 -27
- package/src/media/functional/nitro-basic/functions/getInject.ru.mdx +0 -27
- package/src/media/functional/nitro-basic/functions/getInject.vi.mdx +0 -20
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/nitro-basic/Functions/uiCreateApp - Create Vue App'/>
|
|
4
|
+
|
|
5
|
+
# `uiCreateApp`
|
|
6
|
+
|
|
7
|
+
Creates a Vue SSR application instance from a root component and initializes core plugins, including the router. If a ready-made router is not passed in the options, the function can create one automatically based on the provided routes.
|
|
8
|
+
|
|
9
|
+
**Parameters:**
|
|
10
|
+
- `appComponent: A` — The root component of the application.
|
|
11
|
+
- `options: NitroAppOptions` — Application configuration options.
|
|
12
|
+
|
|
13
|
+
**Returns:**
|
|
14
|
+
An object containing the `app` instance, `router`, and `options`.
|
|
15
|
+
|
|
16
|
+
## Types
|
|
17
|
+
|
|
18
|
+
### NitroAppOptions
|
|
19
|
+
|
|
20
|
+
- `appRouter?: object` — Router configuration:
|
|
21
|
+
- `routes: RouteRecordRaw[]` — list of route records.
|
|
22
|
+
- `options?: RouterOptions` — router creation options.
|
|
23
|
+
- `api?: ApiConfig` — configuration for the API client.
|
|
24
|
+
- `translate?: TranslateConfig` — configuration for the translation service.
|
|
25
|
+
- `metaSuffix?: string` — suffix to be appended to all page titles.
|
|
26
|
+
- `icons?: IconsConfig` — configuration for the icon management service.
|
|
27
|
+
- `router?: Router` — Vue Router instance (if already created).
|
|
28
|
+
- `errorCauses?: ErrorCenterCauseList` — error causes list for the error center.
|
|
29
|
+
|
|
30
|
+
**Usage Example:**
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
import { uiCreateApp } from '@dxtmisha/nitro-basic'
|
|
34
|
+
import App from './App.vue'
|
|
35
|
+
|
|
36
|
+
const { app, router } = uiCreateApp(App, {
|
|
37
|
+
appRouter: {
|
|
38
|
+
routes: [
|
|
39
|
+
{ path: '/', component: () => import('./Home.vue') }
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
})
|
|
43
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/nitro-basic/Functions/uiCreateApp - Создание Vue приложения'/>
|
|
4
|
+
|
|
5
|
+
# `uiCreateApp`
|
|
6
|
+
|
|
7
|
+
Создаёт экземпляр Vue SSR приложения из корневого компонента и инициализирует основные плагины, включая маршрутизатор. Если в опциях не передан готовый роутер, функция может создать его автоматически на основе предоставленных маршрутов.
|
|
8
|
+
|
|
9
|
+
**Параметры:**
|
|
10
|
+
- `appComponent: A` — Корневой компонент приложения.
|
|
11
|
+
- `options: NitroAppOptions` — Параметры конфигурации приложения.
|
|
12
|
+
|
|
13
|
+
**Возвращает:**
|
|
14
|
+
Объект, содержащий экземпляр `app`, `router` и `options`.
|
|
15
|
+
|
|
16
|
+
## Типы
|
|
17
|
+
|
|
18
|
+
### NitroAppOptions
|
|
19
|
+
|
|
20
|
+
- `appRouter?: object` — Конфигурация маршрутизатора:
|
|
21
|
+
- `routes: RouteRecordRaw[]` — список записей маршрутов.
|
|
22
|
+
- `options?: RouterOptions` — опции создания маршрутизатора.
|
|
23
|
+
- `api?: ApiConfig` — конфигурация для API-клиента.
|
|
24
|
+
- `translate?: TranslateConfig` — конфигурация для сервиса переводов.
|
|
25
|
+
- `metaSuffix?: string` — суффикс, который будет добавляться ко всем заголовкам страниц.
|
|
26
|
+
- `icons?: IconsConfig` — конфигурация для сервиса управления иконками.
|
|
27
|
+
- `router?: Router` — экземпляр Vue Router (если уже создан).
|
|
28
|
+
- `errorCauses?: ErrorCenterCauseList` — список причин ошибок для центра ошибок.
|
|
29
|
+
|
|
30
|
+
**Пример использования:**
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
import { uiCreateApp } from '@dxtmisha/nitro-basic'
|
|
34
|
+
import App from './App.vue'
|
|
35
|
+
|
|
36
|
+
const { app, router } = uiCreateApp(App, {
|
|
37
|
+
appRouter: {
|
|
38
|
+
routes: [
|
|
39
|
+
{ path: '/', component: () => import('./Home.vue') }
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
})
|
|
43
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/nitro-basic/Functions/uiCreateApp - Tạo ứng dụng Vue'/>
|
|
4
|
+
|
|
5
|
+
# `uiCreateApp`
|
|
6
|
+
|
|
7
|
+
Tạo một thực thể ứng dụng Vue SSR từ một thành phần gốc và khởi tạo các plugin cốt lõi, bao gồm cả router. Nếu một router có sẵn không được truyền vào trong các tùy chọn, hàm có thể tự động tạo một router dựa trên các tuyến đường được cung cấp.
|
|
8
|
+
|
|
9
|
+
**Tham số:**
|
|
10
|
+
- `appComponent: A` — Thành phần gốc của ứng dụng.
|
|
11
|
+
- `options: NitroAppOptions` — Các tùy chọn cấu hình ứng dụng.
|
|
12
|
+
|
|
13
|
+
**Trả về:**
|
|
14
|
+
Một đối tượng chứa thực thể `app`, `router`, và `options`.
|
|
15
|
+
|
|
16
|
+
## Các kiểu
|
|
17
|
+
|
|
18
|
+
### NitroAppOptions
|
|
19
|
+
|
|
20
|
+
- `appRouter?: object` — Cấu hình router:
|
|
21
|
+
- `routes: RouteRecordRaw[]` — danh sách các bản ghi tuyến đường.
|
|
22
|
+
- `options?: RouterOptions` — các tùy chọn tạo router.
|
|
23
|
+
- `api?: ApiConfig` — cấu hình cho API client.
|
|
24
|
+
- `translate?: TranslateConfig` — cấu hình cho dịch vụ dịch thuật.
|
|
25
|
+
- `metaSuffix?: string` — hậu tố sẽ được thêm vào tất cả các tiêu đề trang.
|
|
26
|
+
- `icons?: IconsConfig` — cấu hình cho dịch vụ quản lý icon.
|
|
27
|
+
- `router?: Router` — thực thể Vue Router (nếu đã được tạo).
|
|
28
|
+
- `errorCauses?: ErrorCenterCauseList` — danh sách nguyên nhân lỗi cho trung tâm lỗi.
|
|
29
|
+
|
|
30
|
+
**Ví dụ sử dụng:**
|
|
31
|
+
|
|
32
|
+
```typescript
|
|
33
|
+
import { uiCreateApp } from '@dxtmisha/nitro-basic'
|
|
34
|
+
import App from './App.vue'
|
|
35
|
+
|
|
36
|
+
const { app, router } = uiCreateApp(App, {
|
|
37
|
+
appRouter: {
|
|
38
|
+
routes: [
|
|
39
|
+
{ path: '/', component: () => import('./Home.vue') }
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
})
|
|
43
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/nitro-basic/Functions/uiCreateClientApp - Client App Bootstrap'/>
|
|
4
|
+
|
|
5
|
+
# `uiCreateClientApp`
|
|
6
|
+
|
|
7
|
+
Finalizes the initialization and mounts the Vue application into the DOM on the client side. It connects functional plugins, waits for the router to be ready to prevent hydration mismatches, and performs additional actions before mounting.
|
|
8
|
+
|
|
9
|
+
**Parameters:**
|
|
10
|
+
- `app: App<T>` — The Vue application instance.
|
|
11
|
+
- `rootContainer: string | T` (default `'#app'`) — Selector or element for mounting.
|
|
12
|
+
- `router: Router` — The Vue Router instance.
|
|
13
|
+
- `options: NitroAppOptions` — Configuration options.
|
|
14
|
+
- `action?: (app: App<T>) => Promise<void> | void` — Additional action before mounting.
|
|
15
|
+
|
|
16
|
+
## Types
|
|
17
|
+
|
|
18
|
+
### NitroAppOptions
|
|
19
|
+
|
|
20
|
+
- `api?: ApiConfig` — configuration for the API client.
|
|
21
|
+
- `translate?: TranslateConfig` — configuration for the translation service.
|
|
22
|
+
- `metaSuffix?: string` — suffix to be appended to all page titles.
|
|
23
|
+
- `icons?: IconsConfig` — configuration for the icon management service.
|
|
24
|
+
- `router?: Router` — Vue Router instance.
|
|
25
|
+
- `errorCauses?: ErrorCenterCauseList` — error causes list for the error center.
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
import { uiCreateClientApp } from '@dxtmisha/nitro-basic'
|
|
29
|
+
|
|
30
|
+
await uiCreateClientApp(app, '#app', router, options)
|
|
31
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/nitro-basic/Functions/uiCreateClientApp - Запуск приложения на клиенте'/>
|
|
4
|
+
|
|
5
|
+
# `uiCreateClientApp`
|
|
6
|
+
|
|
7
|
+
Завершает инициализацию и монтирует Vue-приложение в DOM на стороне клиента. Она подключает функциональные плагины, ожидает готовности маршрутизатора для предотвращения ошибок гидратации и выполняет дополнительные действия перед монтированием.
|
|
8
|
+
|
|
9
|
+
**Параметры:**
|
|
10
|
+
- `app: App<T>` — Экземпляр приложения Vue.
|
|
11
|
+
- `rootContainer: string | T` (по умолчанию `'#app'`) — Селектор или элемент для монтирования.
|
|
12
|
+
- `router: Router` — Экземпляр Vue Router.
|
|
13
|
+
- `options: NitroAppOptions` — Параметры конфигурации.
|
|
14
|
+
- `action?: (app: App<T>) => Promise<void> | void` — Дополнительное действие перед монтированием.
|
|
15
|
+
|
|
16
|
+
## Типы
|
|
17
|
+
|
|
18
|
+
### NitroAppOptions
|
|
19
|
+
|
|
20
|
+
- `api?: ApiConfig` — конфигурация для API-клиента.
|
|
21
|
+
- `translate?: TranslateConfig` — конфигурация для сервиса переводов.
|
|
22
|
+
- `metaSuffix?: string` — суффикс, который будет добавляться ко всем заголовкам страниц.
|
|
23
|
+
- `icons?: IconsConfig` — конфигурация для сервиса управления иконками.
|
|
24
|
+
- `router?: Router` — экземпляр Vue Router.
|
|
25
|
+
- `errorCauses?: ErrorCenterCauseList` — список причин ошибок для центра ошибок.
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
import { uiCreateClientApp } from '@dxtmisha/nitro-basic'
|
|
29
|
+
|
|
30
|
+
await uiCreateClientApp(app, '#app', router, options)
|
|
31
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/nitro-basic/Functions/uiCreateClientApp - Khởi động ứng dụng Client'/>
|
|
4
|
+
|
|
5
|
+
# `uiCreateClientApp`
|
|
6
|
+
|
|
7
|
+
Hoàn tất việc khởi tạo và mount ứng dụng Vue vào DOM ở phía client. Nó kết nối các plugin chức năng, đợi router sẵn sàng để ngăn chặn sự không khớp khi hydrat hóa, và thực hiện các hành động bổ sung trước khi mount.
|
|
8
|
+
|
|
9
|
+
**Tham số:**
|
|
10
|
+
- `app: App<T>` — Thực thể ứng dụng Vue.
|
|
11
|
+
- `rootContainer: string | T` (mặc định `'#app'`) — Selector hoặc thành phần để mount.
|
|
12
|
+
- `router: Router` — Thực thể Vue Router.
|
|
13
|
+
- `options: NitroAppOptions` — Các tùy chọn cấu hình.
|
|
14
|
+
- `action?: (app: App<T>) => Promise<void> | void` — Hành động bổ sung trước khi mount.
|
|
15
|
+
|
|
16
|
+
## Các kiểu
|
|
17
|
+
|
|
18
|
+
### NitroAppOptions
|
|
19
|
+
|
|
20
|
+
- `api?: ApiConfig` — cấu hình cho API client.
|
|
21
|
+
- `translate?: TranslateConfig` — cấu hình cho dịch vụ dịch thuật.
|
|
22
|
+
- `metaSuffix?: string` — hậu tố sẽ được thêm vào tất cả các tiêu đề trang.
|
|
23
|
+
- `icons?: IconsConfig` — cấu hình cho dịch vụ quản lý icon.
|
|
24
|
+
- `router?: Router` — thực thể Vue Router.
|
|
25
|
+
- `errorCauses?: ErrorCenterCauseList` — danh sách nguyên nhân lỗi cho trung tâm lỗi.
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
import { uiCreateClientApp } from '@dxtmisha/nitro-basic'
|
|
29
|
+
|
|
30
|
+
await uiCreateClientApp(app, '#app', router, options)
|
|
31
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/nitro-basic/Functions/uiCreateServerApp - Full Server Initialization'/>
|
|
4
|
+
|
|
5
|
+
# `uiCreateServerApp`
|
|
6
|
+
|
|
7
|
+
A comprehensive asynchronous function to initialize the application on the server side. It configures everything necessary for SSR: headers, storage, API, routing, and performs HTML rendering.
|
|
8
|
+
|
|
9
|
+
**Key Stages:**
|
|
10
|
+
1. Initialization of headers, storage, and cookies.
|
|
11
|
+
2. Configuration of the API client and functional plugins.
|
|
12
|
+
3. Synchronization of the router with the current URL.
|
|
13
|
+
4. Rendering the application into a string.
|
|
14
|
+
5. Substitution of data (language, meta, scripts, content) into the HTML template.
|
|
15
|
+
|
|
16
|
+
**Returns:**
|
|
17
|
+
An object with the rendered page body, metadata, and headers.
|
|
18
|
+
|
|
19
|
+
## Types
|
|
20
|
+
|
|
21
|
+
### NitroAppOptions
|
|
22
|
+
|
|
23
|
+
- `api?: ApiConfig` — configuration for the API client.
|
|
24
|
+
- `translate?: TranslateConfig` — configuration for the translation service.
|
|
25
|
+
- `metaSuffix?: string` — suffix to be appended to all page titles.
|
|
26
|
+
- `icons?: IconsConfig` — configuration for the icon management service.
|
|
27
|
+
- `router?: Router` — Vue Router instance.
|
|
28
|
+
- `errorCauses?: ErrorCenterCauseList` — error causes list for the error center.
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
import { uiCreateServerApp } from '@dxtmisha/nitro-basic'
|
|
32
|
+
|
|
33
|
+
const data = await uiCreateServerApp(app, request, router, options, action, context, htmlTemplate)
|
|
34
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/nitro-basic/Functions/uiCreateServerApp - Полная инициализация сервера'/>
|
|
4
|
+
|
|
5
|
+
# `uiCreateServerApp`
|
|
6
|
+
|
|
7
|
+
Комплексная асинхронная функция для инициализации приложения на стороне сервера. Она настраивает всё необходимое для SSR: заголовки, хранилища, API, маршрутизацию и выполняет рендеринг в HTML.
|
|
8
|
+
|
|
9
|
+
**Основные этапы:**
|
|
10
|
+
1. Инициализация заголовков, хранилищ и cookie.
|
|
11
|
+
2. Настройка API-клиента и функциональных плагинов.
|
|
12
|
+
3. Синхронизация роутера с текущим URL.
|
|
13
|
+
4. Рендеринг приложения в строку.
|
|
14
|
+
5. Подстановка данных (язык, мета, скрипты, контент) в HTML-шаблон.
|
|
15
|
+
|
|
16
|
+
**Возвращает:**
|
|
17
|
+
Объект с отрендеренным телом страницы, метаданными и заголовками.
|
|
18
|
+
|
|
19
|
+
## Типы
|
|
20
|
+
|
|
21
|
+
### NitroAppOptions
|
|
22
|
+
|
|
23
|
+
- `api?: ApiConfig` — конфигурация для API-клиента.
|
|
24
|
+
- `translate?: TranslateConfig` — конфигурация для сервиса переводов.
|
|
25
|
+
- `metaSuffix?: string` — суффикс, который будет добавляться ко всем заголовкам страниц.
|
|
26
|
+
- `icons?: IconsConfig` — конфигурация для сервиса управления иконками.
|
|
27
|
+
- `router?: Router` — экземпляр Vue Router.
|
|
28
|
+
- `errorCauses?: ErrorCenterCauseList` — список причин ошибок для центра ошибок.
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
import { uiCreateServerApp } from '@dxtmisha/nitro-basic'
|
|
32
|
+
|
|
33
|
+
const data = await uiCreateServerApp(app, request, router, options, action, context, htmlTemplate)
|
|
34
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/nitro-basic/Functions/uiCreateServerApp - Khởi tạo Server đầy đủ'/>
|
|
4
|
+
|
|
5
|
+
# `uiCreateServerApp`
|
|
6
|
+
|
|
7
|
+
Một hàm bất đối xứng toàn diện để khởi tạo ứng dụng ở phía server. Nó cấu hình mọi thứ cần thiết cho SSR: header, bộ lưu trữ, API, định tuyến và thực hiện render HTML.
|
|
8
|
+
|
|
9
|
+
**Các giai đoạn chính:**
|
|
10
|
+
1. Khởi tạo header, bộ lưu trữ và cookie.
|
|
11
|
+
2. Cấu hình API client và các plugin chức năng.
|
|
12
|
+
3. Đồng bộ hóa router với URL hiện tại.
|
|
13
|
+
4. Render ứng dụng thành một chuỗi.
|
|
14
|
+
5. Thay thế dữ liệu (ngôn ngữ, meta, kịch bản, nội dung) vào template HTML.
|
|
15
|
+
|
|
16
|
+
**Trả về:**
|
|
17
|
+
Một đối tượng với nội dung trang đã được render, metadata và các header.
|
|
18
|
+
|
|
19
|
+
## Các kiểu
|
|
20
|
+
|
|
21
|
+
### NitroAppOptions
|
|
22
|
+
|
|
23
|
+
- `api?: ApiConfig` — cấu hình cho API client.
|
|
24
|
+
- `translate?: TranslateConfig` — cấu hình cho dịch vụ dịch thuật.
|
|
25
|
+
- `metaSuffix?: string` — hậu tố sẽ được thêm vào tất cả các tiêu đề trang.
|
|
26
|
+
- `icons?: IconsConfig` — cấu hình cho dịch vụ quản lý icon.
|
|
27
|
+
- `router?: Router` — thực thể Vue Router.
|
|
28
|
+
- `errorCauses?: ErrorCenterCauseList` — danh sách nguyên nhân lỗi cho trung tâm lỗi.
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
import { uiCreateServerApp } from '@dxtmisha/nitro-basic'
|
|
32
|
+
|
|
33
|
+
const data = await uiCreateServerApp(app, request, router, options, action, context, htmlTemplate)
|
|
34
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/nitro-basic/Functions/uiCreateSsrRouter - Create SSR Router'/>
|
|
4
|
+
|
|
5
|
+
# `uiCreateSsrRouter`
|
|
6
|
+
|
|
7
|
+
Creates a Vue router instance with a history type suitable for the current runtime environment. On the server, it uses `createMemoryHistory`, and in the browser, it uses `createWebHistory`.
|
|
8
|
+
|
|
9
|
+
**Parameters:**
|
|
10
|
+
- `routes: RouteRecordRaw[]` — A list of routes.
|
|
11
|
+
- `options: NitroAppRouterOptions` — Additional router options.
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { uiCreateSsrRouter } from '@dxtmisha/nitro-basic'
|
|
15
|
+
|
|
16
|
+
const router = uiCreateSsrRouter(routes)
|
|
17
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/nitro-basic/Functions/uiCreateSsrRouter - Создание SSR роутера'/>
|
|
4
|
+
|
|
5
|
+
# `uiCreateSsrRouter`
|
|
6
|
+
|
|
7
|
+
Создаёт экземпляр маршрутизатора Vue с типом истории, подходящим для текущей среды выполнения. На сервере используется `createMemoryHistory`, а в браузере — `createWebHistory`.
|
|
8
|
+
|
|
9
|
+
**Параметры:**
|
|
10
|
+
- `routes: RouteRecordRaw[]` — Список маршрутов.
|
|
11
|
+
- `options: NitroAppRouterOptions` — Дополнительные опции роутера.
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { uiCreateSsrRouter } from '@dxtmisha/nitro-basic'
|
|
15
|
+
|
|
16
|
+
const router = uiCreateSsrRouter(routes)
|
|
17
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/nitro-basic/Functions/uiCreateSsrRouter - Tạo SSR Router'/>
|
|
4
|
+
|
|
5
|
+
# `uiCreateSsrRouter`
|
|
6
|
+
|
|
7
|
+
Tạo một thực thể Vue router với loại lịch sử phù hợp cho môi trường thực thi hiện tại. Trên server, nó sử dụng `createMemoryHistory`, và trong trình duyệt, nó sử dụng `createWebHistory`.
|
|
8
|
+
|
|
9
|
+
**Tham số:**
|
|
10
|
+
- `routes: RouteRecordRaw[]` — Danh sách các tuyến đường.
|
|
11
|
+
- `options: NitroAppRouterOptions` — Các tùy chọn router bổ sung.
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { uiCreateSsrRouter } from '@dxtmisha/nitro-basic'
|
|
15
|
+
|
|
16
|
+
const router = uiCreateSsrRouter(routes)
|
|
17
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/nitro-basic/Functions/uiId - Global ID Generator'/>
|
|
4
|
+
|
|
5
|
+
# `uiId`
|
|
6
|
+
|
|
7
|
+
Initializes the global unique identifier generation function for elements. It uses Vue's built-in `useId` mechanism if called within a component, otherwise it generates an incremental ID with the `ui-` prefix.
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { uiId } from '@dxtmisha/nitro-basic'
|
|
11
|
+
|
|
12
|
+
uiId()
|
|
13
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/nitro-basic/Functions/uiId - Глобальный генератор ID'/>
|
|
4
|
+
|
|
5
|
+
# `uiId`
|
|
6
|
+
|
|
7
|
+
Инициализирует глобальную функцию генерации уникальных идентификаторов для элементов. Она использует встроенный механизм Vue `useId`, если вызов происходит внутри компонента, в противном случае генерирует инкрементальный идентификатор с префиксом `ui-`.
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { uiId } from '@dxtmisha/nitro-basic'
|
|
11
|
+
|
|
12
|
+
uiId()
|
|
13
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/nitro-basic/Functions/uiId - Trình tạo ID toàn cục'/>
|
|
4
|
+
|
|
5
|
+
# `uiId`
|
|
6
|
+
|
|
7
|
+
Khởi tạo hàm tạo định danh duy nhất toàn cục cho các thành phần. Nó sử dụng cơ chế `useId` tích hợp của Vue nếu được gọi trong một component, ngược lại nó sẽ tạo một ID tăng dần với tiền tố `ui-`.
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { uiId } from '@dxtmisha/nitro-basic'
|
|
11
|
+
|
|
12
|
+
uiId()
|
|
13
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/nitro-basic/Functions/uiServerStorage - ServerStorage Initialization'/>
|
|
4
|
+
|
|
5
|
+
# `uiServerStorage`
|
|
6
|
+
|
|
7
|
+
Configures the global `ServerStorage` object by providing a mechanism to retrieve data from the Vue application context (injected via the `NITRO_APP_STORAGE` key). This allows components to save and retrieve state during server-side rendering.
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { uiServerStorage } from '@dxtmisha/nitro-basic'
|
|
11
|
+
|
|
12
|
+
uiServerStorage()
|
|
13
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/ru/nitro-basic/Functions/uiServerStorage - Инициализация ServerStorage'/>
|
|
4
|
+
|
|
5
|
+
# `uiServerStorage`
|
|
6
|
+
|
|
7
|
+
Настраивает глобальный объект `ServerStorage`, предоставляя механизм для извлечения данных из контекста приложения Vue (внедренного через ключ `NITRO_APP_STORAGE`). Это позволяет компонентам сохранять и получать состояние во время серверного рендеринга.
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { uiServerStorage } from '@dxtmisha/nitro-basic'
|
|
11
|
+
|
|
12
|
+
uiServerStorage()
|
|
13
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Meta } from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/vi/nitro-basic/Functions/uiServerStorage - Khởi tạo ServerStorage'/>
|
|
4
|
+
|
|
5
|
+
# `uiServerStorage`
|
|
6
|
+
|
|
7
|
+
Cấu hình đối tượng `ServerStorage` toàn cục bằng cách cung cấp một cơ chế để lấy dữ liệu từ ngữ cảnh ứng dụng Vue (được cung cấp thông qua khóa `NITRO_APP_STORAGE`). Điều này cho phép các thành phần lưu và lấy trạng thái trong quá trình render phía server.
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { uiServerStorage } from '@dxtmisha/nitro-basic'
|
|
11
|
+
|
|
12
|
+
uiServerStorage()
|
|
13
|
+
```
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import {Meta} from '@storybook/addon-docs/blocks'
|
|
2
|
+
|
|
3
|
+
<Meta title='@dxtmisha/en/nitro-basic/# Project Setup'/>
|
|
4
|
+
|
|
5
|
+
# Project Setup
|
|
6
|
+
|
|
7
|
+
The `@dxtmisha/nitro-basic` library is designed to work in conjunction with Nitro and Vue 3. It ensures a smooth transition between server-side and client-side rendering. Below is a step-by-step guide for integrating the library into your project.
|
|
8
|
+
|
|
9
|
+
## 1. Install Dependencies
|
|
10
|
+
|
|
11
|
+
Install the necessary packages. In addition to the library itself, you will need Vue 3 and Vue Router:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install @dxtmisha/nitro-basic vue vue-router
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 2. Nitro Plugin Initialization
|
|
18
|
+
|
|
19
|
+
For basic server environment setup (e.g., API caching), you need to register a Nitro plugin.
|
|
20
|
+
|
|
21
|
+
Create the `server/plugins/ui.ts` file:
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { definePlugin } from 'nitro'
|
|
25
|
+
import { initPluginBasic } from '@dxtmisha/nitro-basic/plugin'
|
|
26
|
+
|
|
27
|
+
export default definePlugin((nitroApp) => {
|
|
28
|
+
initPluginBasic(nitroApp)
|
|
29
|
+
})
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 3. Create Application Factory (main.ts)
|
|
33
|
+
|
|
34
|
+
Create a shared file for Vue application initialization that will be used on both server and client.
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
// src/main.ts
|
|
38
|
+
import { uiCreateApp } from '@dxtmisha/nitro-basic'
|
|
39
|
+
import App from './App.vue'
|
|
40
|
+
import { routes } from './router'
|
|
41
|
+
|
|
42
|
+
export function createApp() {
|
|
43
|
+
return uiCreateApp(App, {
|
|
44
|
+
appRouter: {
|
|
45
|
+
routes
|
|
46
|
+
}
|
|
47
|
+
})
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 4. Configure Client Entry Point
|
|
52
|
+
|
|
53
|
+
On the client, you need to prepare the identifier generator and mount the application.
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
// src/entry-client.ts
|
|
57
|
+
import { uiBootstrapClient, uiCreateClientApp } from '@dxtmisha/nitro-basic'
|
|
58
|
+
import { createApp } from './main'
|
|
59
|
+
|
|
60
|
+
const { app, router, options } = createApp()
|
|
61
|
+
|
|
62
|
+
// ID initialization for hydration
|
|
63
|
+
uiBootstrapClient()
|
|
64
|
+
|
|
65
|
+
// Mount the application
|
|
66
|
+
uiCreateClientApp(app, '#app', router, options)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## 5. Configure Server Entry Point
|
|
70
|
+
|
|
71
|
+
The server entry point is responsible for initializing storages, headers, and HTML rendering.
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
// src/entry-server.ts
|
|
75
|
+
import { uiBootstrapServer, uiCreateServerApp } from '@dxtmisha/nitro-basic'
|
|
76
|
+
import { createApp } from './main'
|
|
77
|
+
import template from './templates/main.html?raw' // HTML template
|
|
78
|
+
|
|
79
|
+
// Global server initialization
|
|
80
|
+
uiBootstrapServer()
|
|
81
|
+
|
|
82
|
+
export default {
|
|
83
|
+
async fetch(request: Request) {
|
|
84
|
+
const { app, router, options } = createApp()
|
|
85
|
+
|
|
86
|
+
const { headers, body } = await uiCreateServerApp(
|
|
87
|
+
app,
|
|
88
|
+
request,
|
|
89
|
+
router,
|
|
90
|
+
options,
|
|
91
|
+
undefined,
|
|
92
|
+
undefined,
|
|
93
|
+
template
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
return new Response(body, { headers })
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## 6. HTML Template
|
|
102
|
+
|
|
103
|
+
For SSR to work correctly, the library uses a placeholder system in the HTML template. The `uiCreateServerApp` function automatically replaces them with up-to-date data.
|
|
104
|
+
|
|
105
|
+
**Available markers:**
|
|
106
|
+
- `<!--ssr-lang-->` — user language code (e.g., `en`). Used in `<html lang="...">`.
|
|
107
|
+
- `<!--ssr-title-->` — page title from `MetaStatic`. Injected into `<title>`.
|
|
108
|
+
- `<!--ssr-meta-->` — block of meta tags (OG, Twitter, etc.) from `MetaStatic`.
|
|
109
|
+
- `<!--ssr-outlet-->` — rendered HTML of your application. Usually inside `<div id="app">`.
|
|
110
|
+
- `<!--ssr-teleports-->` — content from Vue Teleports.
|
|
111
|
+
- `<!--ssr-scriptsJson-->` — **Critically important marker**. Contains JSON with hydration data (`ServerStorage`, API cache). Must be placed before the closing `</body>`.
|
|
112
|
+
|
|
113
|
+
Example `main.html`:
|
|
114
|
+
```html
|
|
115
|
+
<!DOCTYPE html>
|
|
116
|
+
<html lang="<!--ssr-lang-->">
|
|
117
|
+
<head>
|
|
118
|
+
<meta charset="UTF-8">
|
|
119
|
+
<!--ssr-meta-->
|
|
120
|
+
<title><!--ssr-title--></title>
|
|
121
|
+
</head>
|
|
122
|
+
<body>
|
|
123
|
+
<div id="app"><!--ssr-outlet--></div>
|
|
124
|
+
|
|
125
|
+
<!--ssr-teleports-->
|
|
126
|
+
<!--ssr-scriptsJson-->
|
|
127
|
+
|
|
128
|
+
<script type="module" src="/src/entry-client.ts"></script>
|
|
129
|
+
</body>
|
|
130
|
+
</html>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
> Without the `<!--ssr-scriptsJson-->` marker, data received on the server will not be transferred to the client, leading to hydration errors and redundant API requests.
|