文档命令和配置
配置
Configuration 是项目根目录 nexyconfig.py 中的一个类。 Nexy 从它运行的目录加载它;没有该文件的项目使用默认值。
from nexy.core.models import NexyConfigModelfrom nexy.frontend import react class NexyConfig(NexyConfigModel): useFF = react() usePort = 3000 useTitle = "My App" useAliases = {"@": "src"}服务器
| 领域 | 默认 | 含义 |
|---|---|---|
usePort |
3000 |
dev 和 start 的端口 |
useHost |
"0.0.0.0" |
绑定地址 |
useSslKeyfile,useSslCertfile |
None |
直接提供HTTPS服务 |
useDevTools |
True |
工具栏 nexy dev 添加到每个页面(页面信息、路由、错误、配置); False 将其删除。从未出现在生产中 |
useHealth |
False |
为负载均衡器和 Kubernetes 探测器提供 GET /health/live 和 GET /health/ready 服务;请参阅部署 |
useWorkers |
0 |
进程 nx start 运行; 0 在 Linux 和 macOS 上是每个 CPU 一个,在 Windows 上是一个 |
useCSR |
False |
客户端路由模式; .nexy 路线已禁用 |
路线
| 领域 | 默认 | 含义 |
|---|---|---|
useRouter |
None |
安装在基于文件的路由旁边的 APIRouter 实例或类; None 表示仅基于文件 |
excludeDirs |
["templates", "extension", "docs"] |
扫描路由时跳过的目录 |
useAliases |
None |
导入别名,例如 {"@": "src"}(@/components/Counter.tsx 表示 src/components/Counter.tsx); nx new 写入您选择的那个,然后 Vite 和 tsconfig.json 跟随它 |
前端
| 领域 | 默认 | 含义 |
|---|---|---|
useFF |
None |
客户端框架工厂:react()、vue()、svelte()、solid()、preact() |
useVite |
True |
使用 Vite 构建并提供客户端捆绑包 |
useMarkdownExtensions |
[] |
.md/.mdx 渲染的额外扩展 |
useWatchExtensions |
None |
开发服务器监视的额外扩展 |
useWatchExcludePatterns |
None |
开发服务器忽略的 glob 模式 |
很高兴知道:
NexyConfigModel声明useVite = False;运行时Config默认为True。
保留文件名
每个字段都会为保留角色添加扩展。 useLayoutExtensions = ["md"] 保留 layout.md,与 layout.nexy 完全相同。
| 领域 | 添加扩展 |
|---|---|
useLayoutExtensions |
layout.* |
useNotFoundExtensions |
notfound.* |
useErrorsExtensions |
errors.* |
useForbiddenExtensions |
forbidden.* |
useUnauthorizedExtensions |
unauthorized.* |
useLoadingExtensions |
loading.* |
API文档
| 领域 | 默认 | 含义 |
|---|---|---|
useDocs |
True |
提供标量参考页面; /openapi.json 的服务方式有两种 |
useDocsUrl |
"/docs" |
API参考页面路径 |
useRedocsUrl |
"/redocs" |
已声明但未安装路由 |
useTitle |
"Nexy App" |
OpenAPI 标题和页面标题(NexyConfigModel 中的 "Nexy") |
项目页面的免费 /docs
API 参考在任何路由之前回答 /docs,因此永远不会在那里提供 src/routes/docs.nexy 或 src/routes/docs/[[...slug]].nexy。 nx dev 和 nx start 在启动时命名这样的页面。使用 useDocsUrl 移动引用:
from nexy.core.models import NexyConfigModel class NexyConfig(NexyConfigModel): useDocsUrl = "/api-reference"或者使用 useDocs = False 将其关闭。 /openapi.json 在这两种情况下都保持服务:使项目的路线远离该路径。
中间件
| 领域 | 默认 | 含义 |
|---|---|---|
useMiddlewares |
[] |
ASGI中间件类 |
useCORS |
None |
夸格斯 CORSMiddleware |
useGZip |
None |
夸格斯 GZipMiddleware |
useTrustedHost |
None |
夸格斯 TrustedHostMiddleware |
useSession |
None |
夸格斯 SessionMiddleware |
useAuth |
None |
身份验证中间件配置 |
useHTTPSRedirect |
False |
将 HTTP 重定向到 HTTPS |
Markdown
| 领域 | 默认 | 含义 |
|---|---|---|
useTocDepth |
"2-6" |
目录中包含的标题级别 |
useTocTitle |
"Table of Contents" |
目录标题 |
useTocAuto |
True |
生成 Markdown 页的目录 |
文件树外的路由
构建一个 FastAPI APIRouter 并用 useRouter 安装它。它在基于文件的路由旁边提供:
from fastapi import APIRouterfrom nexy.core.models import NexyConfigModel router = APIRouter() @router.get("/health")def health(): return {"status": "ok"} class NexyConfig(NexyConfigModel): useRouter = router上面的默认值是从 nexy/core/config.py读取的。
已声明,尚未阅读
这些字段存在于 NexyConfigModel 中,但没有代码使用它们。设置它们没有效果:
useViteDevUrl,useRTL。