DocsPrimeiros passos

Início rápido

Você criará um projeto Nexy, executá-lo e verá uma mudança de página conforme você o edita. Demora três minutos. O Tutorial então adiciona um endpoint e uma construção de produção.

Antes de começar

Você precisa de Por que
Python 3,12+ requires-python em pyproject.toml
uv fornece uvx, cria o projeto e instala seus pacotes
Node.js 18+ somente se você usar uma estrutura de cliente (React, Vue, Svelte, Solid, Preact)

Não uv ainda? Consulte Instalação.

1. Crie o projeto

uvx nexy new my-app

uvx vem com uv, então instale uv primeiro. Ele roda o Nexy em um ambiente temporário, suficiente para criar o projeto. nexy new então cria o próprio projeto .venv e instala seus pacotes lá. Quatro prompts decidem a fiação:

Alerta Efeito
Roteador baseado em arquivo? Yes verifica src/routes/; No estrutura o roteador modular em src/apps/
Tipo de projeto Web adiciona um layout e ativos de cliente, API inicia sem visualizações
Componente cliente? adiciona uma estrutura e sua Vite configuração
ORM/banco de dados adiciona uma camada de modelo, ou nada

Não tenho certeza? Responda Yes, Web e nenhum componente cliente. Você pode adicionar cada um mais tarde.

2. Execute-o

cd my-app.venv\Scripts\activate    # Windows; on macOS and Linux: source .venv/bin/activatenexy dev

Abra http://localhost:3000. Você deverá ver a página inicial. A porta vem de usePort (padrão 3000); --port e --host substituem-no por execução.

3. Mude uma página

Um arquivo em src/routes/ é uma rota. Criar src/routes/hello.nexy:

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

Um controlador retorna uma visualização. Criar src/apps/hello_view.nexy:

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

Em seguida, declare a página em src/apps/app_controller.py e adicione-a ao módulo:

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]

Abra http://localhost:3000/hello. Altere "Hello" para "Bonjour" e salve: a página é atualizada sem recarregar manualmente. Se o código estiver errado, o navegador mostra o erro em vez de uma página em branco.

prop[str] declara uma propriedade digitada. A marcação sob o frontmatter é Jinja2 - veja arquivos .nexy.

Onde será o próximo

Você deseja Ler
Adicione um endpoint Python e envie uma compilação Tutorial
Saiba onde cada arquivo pertence Estrutura do projeto
Entenda quem constrói o quê Como funciona o Nexy
Use React, Vue, Svelte, Solid ou Preact Visualizações

Editar no GitHub

Enter abre o resultado, Esc fecha.