ДокументацияПервые шаги
Быстрый старт
Вы создадите проект Nexy, запустите его и увидите изменение страницы по мере его редактирования. Это занимает три минуты. Затем Руководство добавляет конечную точку и производственную сборку.
Прежде чем начать
| Вам нужно | Почему |
|---|---|
| Python 3.12+ | requires-python в pyproject.toml |
| uv | предоставляет uvx, создает проект и устанавливает его пакеты |
| Node.js 18+ | только если вы используете клиентскую платформу (React, Vue, Svelte, Solid, Preact) |
Еще нет uv? См. Установка.
1. Создайте проект
uvx nexy new my-app
uvx поставляется с uv, поэтому сначала установите uv. Он запускает Nexy во временной среде, достаточной для создания проекта. nexy new затем создает собственный проект .venv и устанавливает туда его пакеты. Четыре подсказки определяют проводку:
| Подсказка | Эффект |
|---|---|
| Файловый маршрутизатор? | Yes сканирует src/routes/; No формирует модульный маршрутизатор в src/apps/ |
| Тип проекта | Web добавляет макет и клиентские ресурсы, API запускается без представлений |
| Клиентский компонент? | добавляет фреймворк и его Vite настройку |
| ORM/база данных | добавляет слой модели или ничего |
Не уверены? Ответ Yes, Web и никакого клиентского компонента. Вы можете добавить каждый позже.
2. Запустите его
cd my-app.venv\Scripts\activate # Windows; on macOS and Linux: source .venv/bin/activatenexy dev
Откройте http://localhost:3000. Вы должны увидеть стартовую страницу. Порт взят из usePort (по умолчанию 3000); --port и --host переопределяют его при каждом запуске.
3. Изменить страницу
Файл в папке src/routes/ является маршрутом. Создайте src/routes/hello.nexy:
title: prop[str] = "Hello"<h1>{{ title }}</h1>Контроллер возвращает представление. Создайте src/apps/hello_view.nexy:
title: prop[str] = "Hello"<h1>{{ title }}</h1>Затем объявите страницу в src/apps/app_controller.py и добавьте ее в модуль:
@Controller("/hello")class HelloController: async def get(self): return useViews(LAYOUT, context={"children": useViews("src/apps/hello_view.nexy")})from .app_controller import AboutController, AppController, HelloController controllers = [AppController, AboutController, HelloController]Откройте http://localhost:3000/hello. Измените "Hello" на "Bonjour" и сохраните: страница обновится без перезагрузки вручную. Если код неправильный, браузер вместо пустой страницы отображает ошибку.
prop[str] объявляет типизированное свойство. Разметка под заголовком - Jinja2 - см. файлы .nexy.
Где дальше
| Вы хотите | Прочесть |
|---|---|
| Добавьте конечную точку Python и отправьте сборку | Руководство |
| Знайте, где находится каждый файл | Структура проекта |
| Поймите, кто и что строит | Как работает Nexy |
| Используйте React, Vue, Svelte, Solid или Preact | Просмотры |