IGA Pages 支持多种主流前端、后端及全栈框架。大多数场景下,平台会自动检测项目所用框架并应用默认构建配置,无需额外手动设置即可完成部署。
本文档涵盖以下三类框架的接入说明:
类型 | 支持的框架 / 工具 |
|---|---|
前端 | Create React App、Vue CLI、Vite、Angular、VitePress、VuePress、Docusaurus、Hexo |
后端 | Express、Koa(基于 IGA Pages Functions 运行) |
全栈 | Next.js(14 及以上版本) |
下表汇总了各前端框架的默认构建命令与输出目录。如需自定义,请参见IGA Pages 构建指南中的构建配置章节。
框架 | 构建命令 | 输出目录 |
|---|---|---|
Create React App |
|
|
Vue CLI |
|
|
VuePress |
|
|
Vite |
|
|
VitePress |
|
|
Hexo |
|
|
Angular |
|
|
Docusaurus |
|
|
说明
IGA Pages 会根据项目结构自动检测框架类型,并应用上述默认值。如果自动检测结果不符合预期,可通过 iga.json 或控制台手动指定,详见IGA Pages 构建指南。
IGA Pages 支持使用 Node.js 第三方框架(Express / Koa)开发后端服务。后端代码运行在 IGA Pages Functions 环境中,需遵循以下共同约定。
[[default]].js(或 .ts)作为文件名,放置在 api/ 目录下,平台通过此命名识别 Catch-all 路由处理器。app.listen(),端口监听由平台自动管理。export default)。Express 是流行的 Node.js Web 框架,提供简洁灵活的中间件与路由机制。
// api/[[default]].js import express from "express"; const app = express(); app.use(express.json()); // 路由路径基于文件系统位置,对应路由为 /api/users app.get("/users", (req, res) => res.json({ users: [] })); app.post("/users", (req, res) => res.status(201).json({ user: req.body })); app.get("/users/:id", (req, res) => res.json({ user: req.params.id })); export default app; // 不要调用 app.listen()
Koa 是由 Express 原班人马打造的下一代 Node.js Web 框架,基于 async/await 提供更优雅的中间件写法。
// api/[[default]].js import Koa from "koa"; import Router from "@koa/router"; import bodyParser from "koa-bodyparser"; const app = new Koa(); const router = new Router(); app.use(bodyParser()); router.get("/users", (ctx) => { ctx.body = { users: [] }; }); router.post("/data", (ctx) => { ctx.status = 201; ctx.body = { data: ctx.request.body }; }); app.use(router.routes()); app.use(router.allowedMethods()); export default app; // 不要调用 app.listen()
IGA Pages 支持 Next.js 14 及以上版本,兼容以下两种渲染模式:
模式 | 说明 |
|---|---|
SSR(服务端渲染) | 页面在请求时动态渲染,适用于需要实时数据的场景 |
Static Export(静态导出) | 构建时预渲染为纯静态 HTML,适用于内容型站点 |
部署时平台会根据 Next.js 配置自动识别渲染模式,通常无需额外设置。
如果您不使用任何框架,也可以直接上传自定义静态资产(HTML / CSS / JS / 图片等)进行部署。只需将所有静态文件放置在项目的输出目录中,并在构建配置中指定该目录路径即可。
适用场景: