emergent项目要求前端、后端、数据库严格解耦与实时联动:前端仅渲染且禁用直连数据库;后端作为唯一可信中介,强制校验与抽象数据访问;数据库按职责隔离、读写分离、字段分级;三端须通过四步启动验证确保安全协同。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Emergent项目结构要求前端、后端与数据库三者严格解耦又实时联动,不能靠硬编码拼接,也不能让任一层直接暴露敏感配置或跳过验证逻辑。
前端只负责渲染与交互,不碰数据源
前端代码必须运行在浏览器沙箱中,所有数据请求统一走后端API网关,禁止在JavaScript里写数据库连接字符串或SQL语句。
使用React/Vue构建组件时,每个页面的数据获取逻辑封装为独立Hook或Composable,调用路径限定为:useUserData → fetch('/api/user/profile') → 后端返回JSON。
若发现前端代码里出现mysql://、mongodb://或process.env.DB_URL,立即删除——【这是严重安全漏洞,会导致数据库凭据泄露】。
后端作为唯一可信中介,强制校验与路由分发
后端采用Express + TypeScript搭建,所有HTTP接口必须经过统一中间件栈:CORS → JWT鉴权 → 请求体校验 → 日志记录 → 限流。
数据库访问全部通过Repository层抽象,Controller层不得直接import mongoose或knex实例。
例如用户查询接口:/api/v1/users/:id → Controller调用UserRepository.findById() → Repository内部决定是查MongoDB还是缓存Redis,前端完全无感知。
数据库按职责隔离,读写分离且不可直连
生产环境数据库仅开放内网IP白名单,前端服务器、后端服务、运维跳板机各自拥有不同权限账号。
主库(PostgreSQL)承担写操作和强一致性事务;从库(只读副本)供报表、搜索、归档等低优先级读取;Redis作为会话与热点数据缓存层,不持久化关键业务状态。
数据库表设计遵循“前端字段即DTO,非前端字段加_前缀”原则,比如user表中email字段前端可见,而_password_hash、_failed_login_count这类字段永远不映射到API响应体中。
三端协同的启动验证流程
第一步:启动数据库容器,确认pg_isready -h localhost -U emergent -d emergent_db返回0。
第二步:启动后端服务,检查/logs/startup.log是否包含“✅ API gateway ready on port 3001”且无ERROR行。
第三步:运行前端build脚本,生成dist目录后,用serve -s dist -l 3000启动静态服务。
第四步:在浏览器打开http://localhost:3000,触发任意API调用,观察Network面板中所有/XHR请求域名均为http://localhost:3001,且响应头含Access-Control-Allow-Origin: http://localhost:3000。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!









