DocsBaseado em arquivo
Modo servidor e modo cliente
Um projeto Nexy é renderizado pelo servidor ou roteado pelo cliente, assim como um projeto Next.js são páginas renderizadas no servidor ou em um aplicativo cliente. useCSR em nexyconfig.py escolhe.
Modo servidor (useCSR = False)
from nexy.core.models import NexyConfigModelfrom nexy.frontend import react class NexyConfig(NexyConfigModel): useFF = react()- As páginas são arquivos
.nexy,.mdou.mdxemsrc/routes/. - A raiz
layout.nexypossui<!DOCTYPE html>,<html>,<head>e<body>. - Componentes cliente (React, Vue, Svelte, Solid ou Preact) são permitidos como ilhas: você importa um de uma página
.nexye ele hidrata no navegador. Veja Ilhas. - Um componente cliente nunca é uma rota. Mantenha-os em
src/components/. - Uma estrutura de cliente por vez.
src/
routes/
layout.nexydocument
index.nexypage
api/users.pyAPI handler
components/Counter.tsx island
Modo cliente (useCSR = True)
class NexyConfig(NexyConfigModel): useFF = react() useCSR = True- As páginas são os arquivos da sua estrutura cliente:
.tsxpara React,.vue,.svelte. - Os arquivos
.mde.mdxpermanecem rotas válidas: Nexy os renderiza no servidor dentro do layout do cliente, e o roteador do cliente assume a navegação a partir daí. - O layout raiz de qualquer estrutura (
layout.tsx,layout.vue,layout.svelte) possui<!DOCTYPE html>,<html>,<head>e<body>, como o layout raiz do Next.js App Router. Nexy renderiza em Node para a primeira resposta e o framework hidrata todo o documento. Consulte layout.tsx. - Os arquivos
.pysão manipuladores de API servidos por FastAPI, próximos às rotas do cliente. - Não existe nenhum arquivo
.nexye nenhumlayout.nexy. - A navegação entre as páginas acontece no navegador.
src/routes/
layout.tsxdocument
index.tsxpage
users.tsxpage
api/users.pyAPI handler
O que é rejeitado
Nexy verifica o projeto antes de nx dev, nx start e nx build e para com a lista de arquivos:
| Modo | Rejeitado | Mensagem |
|---|---|---|
| servidor | .tsx, .jsx, .vue ou .svelte em src/routes/ |
mover componentes para src/components/ ou definir useCSR = True |
| cliente | qualquer arquivo .nexy em src/routes/ |
escreva-os como componentes da estrutura ou defina useCSR = False |
| ambos | mais de uma estrutura de front-end em useFF |
useFF must configure exactly one frontend framework |
| cliente | useRouter (roteador modular) |
useCSR requires file-based routing |
| cliente | não useFF |
useCSR requires a client framework |
Arquivos e pastas começando com _ ou . são ignorados por esta verificação.
Qual deles
- Conteúdo, marketing, documentos, sites SEO-first: modo servidor com ilhas.
- Painéis e aplicativos com navegação rich client: modo cliente.
- Uma API Python com um aplicativo cliente na parte superior: modo cliente, com manipuladores
.pypróximos às páginas.