@ edgeone/ vite (日语)
用于部署 SSR 应用程序的 Vite 插件适配器 边缘一页。在 @ universal- deplope/ store (英语),有框外支持 安全部门改革, (中文(简体) ), TanStack 启动,以及 维琪。 。 。 .
安装
说明: 此包目前为β. 安装
beta标签 :
npm install @edgeone/vite@beta
同伴依赖 : 维特7或8.
快速启动
TanStack 启动
// vite.config.ts
import { defineConfig } from "vite";
import { tanstackStart } from "@tanstack/react-start/plugin";
import { edgeoneAdapter } from "@edgeone/vite";
export default defineConfig({
plugins: [tanstackStart(), edgeoneAdapter()],
});
维琪
要求维凯0.4.257。 添加 server: true 您的 Vike 配置, 允许 Vike 内置的通用部署集成 :
// pages/+config.ts
export default {
server: true,
}
// vite.config.ts
import { defineConfig } from "vite";
import vike from "vike/plugin";
import { edgeoneAdapter } from "@edgeone/vite";
export default defineConfig({
plugins: [vike(), edgeoneAdapter()],
});
标准 Vite SSR
// vite.config.ts
import { defineConfig } from "vite";
import { edgeoneAdapter } from "@edgeone/vite";
export default defineConfig({
build: { ssr: "src/entry-server.ts" },
plugins: [edgeoneAdapter()],
});
安全部门改革条目要求: 条目文件必须默认导出 a
{ fetch(request: Request): Response | Promise<Response> }接口.
API 密码
edgeoneAdapter(options?)
用于在 普遍部署 存储.
选项
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
outputDir | string | ".edgeone" | 部署文物输出目录 |
verbose | boolean | false | 构建时启用动词记录 |
如何运作
适配器由6个Vite插件组成:
| 插件 | 来源 | 目的 |
|---|---|---|
edgeone:bundle-deps | 适配器 | 强制捆绑所有 npm 分解( EdgeOne 没有) node_modules(中文(简体) ) |
compat | @ universal- deplope/ store (英语) | 自动发现 SSR 条目 rollupOptions.input |
catchAll | @ universal- deplope/ store (英语) | 生成一个囊括所有注册条目的虚拟模块 |
resolver | @ universal- deplope/ store (英语) | 解析虚拟模块 ID |
edgeone:apply-catch-all | 适配器 | 将包罗万象的条目添加到安全部门改革构建输入中 |
edgeone:output | 适配器 | 建造后生成 EdgeOne 部署文物 |
edgeone:ssr-entry | 适配器 | 客户端构建后自动触发 SSR 构建( 当 ssrEntry 设置) |
适配器是完全框架-不可知的——它读取了Universal Project商店的条目并出自EdgeOne部署文物. 框架(Vike,TanStack Start等)负责在商店中注册自己的可获取条目.
建造完成后 edgeone:output 插件 :
- SSR 副本 将输出构建到
<outputDir>/cloud-functions/ssr-node/ - 生成桥项( E)
handler.js转换节点.jsIncomingMessage到网络Request(与边缘一页靴子相容) - 将静态资产复制到
<outputDir>/assets/ - 生成
config.json含有存储注册条目的路由定义
构建输出
.edgeone/
├── assets/ # Client-side static assets
└── cloud-functions/
└── ssr-node/
├── handler.js # Bridge entry (adapter-generated, IncomingMessage → Request)
├── _handler.js # Catch-all handler (Vite build output)
├── server.js # Framework SSR entry
├── assets/ # Server-side chunks
└── config.json # EdgeOne Pages route config
许可证
麻省理工学院