ДокументацияПервые шаги

Быстрый старт

Вы создадите проект 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:

src/маршруты/hello.nexy
---title: prop[str] = "Hello"---<h1>{{ title }}</h1>

Контроллер возвращает представление. Создайте src/apps/hello_view.nexy:

src/apps/hello_view.nexy
---title: prop[str] = "Hello"---<h1>{{ title }}</h1>

Затем объявите страницу в src/apps/app_controller.py и добавьте ее в модуль:

src/apps/app_controller.py
@Controller("/hello")class HelloController:    async def get(self):        return useViews(LAYOUT, context={"children": useViews("src/apps/hello_view.nexy")})
src/apps/app_module.py
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 Просмотры

Изменить на GitHub

Enter открывает результат, Esc закрывает.