Loading...
Loading...
Compare original and translation side by side
| Mode | When | Input | Output |
|---|---|---|---|
| SCAFFOLD | CREATE pipeline — no existing frontend | Target stack config from ln-720 | Minimal React + Vite project (~7 files) |
| RESTRUCTURE | TRANSFORM pipeline — existing frontend found | Monolithic React source | Component-based architecture |
| 模式 | 适用场景 | 输入 | 输出 |
|---|---|---|---|
| SCAFFOLD | 创建流水线场景——无现有前端项目 | 来自ln-720的目标技术栈配置 | 极简React + Vite项目(约7个文件) |
| RESTRUCTURE | 转换流水线场景——存在现有前端项目 | 单体式React源码 | 组件化架构 |
| Aspect | Description |
|---|---|
| Input | Target stack config (SCAFFOLD) or monolithic React source (RESTRUCTURE) |
| Output | Minimal project (SCAFFOLD) or component-based architecture (RESTRUCTURE) |
| Framework | React + TypeScript + Vite |
| 维度 | 说明 |
|---|---|
| 输入 | 目标技术栈配置(SCAFFOLD模式)或单体式React源码(RESTRUCTURE模式) |
| 输出 | 极简项目(SCAFFOLD模式)或组件化架构(RESTRUCTURE模式) |
| 技术栈 | React + TypeScript + Vite |
| Phase | Name | Actions | Output |
|---|---|---|---|
| S1 | Generate | Create minimal React + Vite + TypeScript project files | ~7 starter files |
| S2 | Verify | Check file structure, validate configs | Valid project skeleton |
| 阶段 | 名称 | 操作 | 输出 |
|---|---|---|---|
| S1 | 生成 | 创建极简React + Vite + TypeScript项目文件 | 约7个启动文件 |
| S2 | 验证 | 检查文件结构,验证配置文件 | 有效的项目骨架 |
| Phase | Name | Actions | Output |
|---|---|---|---|
| 1 | Analyze | Scan source, detect component types, measure complexity | File inventory, complexity metrics |
| 2 | Plan | Apply split thresholds, calculate file moves, detect conflicts | Migration plan |
| 3 | Execute | Create folders, extract content, update imports | Restructured files |
| 4 | Verify | Run build, check imports, validate structure | Build success report |
| 阶段 | 名称 | 操作 | 输出 |
|---|---|---|---|
| 1 | 分析 | 扫描源码,检测组件类型,评估复杂度 | 文件清单、复杂度指标 |
| 2 | 规划 | 应用拆分阈值,计算文件迁移路径,检测冲突 | 迁移计划 |
| 3 | 执行 | 创建文件夹,提取内容,更新导入路径 | 重构后的文件 |
| 4 | 验证 | 执行构建,检查导入路径,验证结构 | 构建成功报告 |
| File | Purpose |
|---|---|
| Dependencies: react, react-dom, typescript, vite, @vitejs/plugin-react |
| Vite config with React plugin, port, proxy settings |
| Strict TypeScript config with path aliases |
| Entry HTML with root div |
| React entry point with StrictMode |
| Root App component with router placeholder |
| Base styles (reset, variables, layout) |
| 文件 | 用途 |
|---|---|
| 依赖项:react, react-dom, typescript, vite, @vitejs/plugin-react |
| Vite配置,包含React插件、端口、代理设置 |
| 严格模式TypeScript配置,包含路径别名 |
| 入口HTML文件,包含根div节点 |
| React入口文件,启用StrictMode |
| 根App组件,包含路由占位符 |
| 基础样式(重置样式、变量、布局) |
| Check | Method | Expected |
|---|---|---|
| All files created | File existence check | 7 files present |
| package.json valid | JSON parse | No syntax errors |
| tsconfig.json valid | JSON parse | No syntax errors |
| No hardcoded values | Content scan | Project name from config, not hardcoded |
| 检查项 | 检测方法 | 预期结果 |
|---|---|---|
| 所有文件已创建 | 文件存在性检查 | 7个文件全部存在 |
| package.json有效 | JSON解析 | 无语法错误 |
| tsconfig.json有效 | JSON解析 | 无语法错误 |
| 无硬编码值 | 内容扫描 | 项目名称来自配置,而非硬编码 |
| Step | Action | Reference |
|---|---|---|
| 1.1 | Scan all | — |
| 1.2 | Measure file complexity (lines, hooks, types) | |
| 1.3 | Classify components by category | |
| 1.4 | Build import dependency graph | |
| 步骤 | 操作 | 参考文件 |
|---|---|---|
| 1.1 | 扫描源码中所有 | — |
| 1.2 | 评估文件复杂度(行数、hooks、类型) | |
| 1.3 | 按类别对组件进行分类 | |
| 1.4 | 构建导入依赖关系图 | |
| Step | Action | Reference |
|---|---|---|
| 2.1 | Apply split thresholds to identify files to restructure | |
| 2.2 | Calculate target paths for each file | |
| 2.3 | Identify import updates needed | |
| 2.4 | Detect potential conflicts (name collisions, circular deps) | — |
| 步骤 | 操作 | 参考文件 |
|---|---|---|
| 2.1 | 应用拆分阈值,确定需要重构的文件 | |
| 2.2 | 计算每个文件的目标路径 | |
| 2.3 | 识别需要更新的导入路径 | |
| 2.4 | 检测潜在冲突(名称重复、循环依赖) | — |
| Step | Action | Notes |
|---|---|---|
| 3.1 | Create directory structure | All target folders |
| 3.2 | Extract types to | Types have no dependencies |
| 3.3 | Extract constants to | Constants depend only on types |
| 3.4 | Extract hooks to | Hooks depend on types, constants |
| 3.5 | Extract sub-components | Components use all above |
| 3.6 | Create barrel exports ( | For clean imports |
| 3.7 | Update all import paths | Fix references |
| 步骤 | 操作 | 注意事项 |
|---|---|---|
| 3.1 | 创建目录结构 | 生成所有目标文件夹 |
| 3.2 | 将类型提取至 | 类型无依赖项 |
| 3.3 | 将常量提取至 | 常量仅依赖类型 |
| 3.4 | 将hooks提取至 | hooks依赖类型和常量 |
| 3.5 | 提取子组件 | 组件依赖上述所有内容 |
| 3.6 | 创建桶导出文件( | 实现简洁的导入方式 |
| 3.7 | 更新所有导入路径 | 修复引用关系 |
| Check | Command | Expected |
|---|---|---|
| TypeScript compilation | | No errors |
| Build | | Success |
| No orphan files | Manual check | Source location empty |
| Imports resolve | Build success | No module not found errors |
| 检查项 | 命令 | 预期结果 |
|---|---|---|
| TypeScript编译 | | 无错误 |
| 构建 | | 执行成功 |
| 无孤立文件 | 手动检查 | 原源码目录为空 |
| 导入路径可解析 | 构建成功 | 无“模块未找到”错误 |
| Transformation | Before State | After State |
|---|---|---|
| Component Split | Single file >300 lines | Feature folder with co-located files |
| Type Extraction | Inline interfaces | Separate |
| Constant Extraction | Inline magic values | Separate |
| Hook Extraction | Inline useState/useEffect | Separate |
| UI Component Move | Scattered in features | Centralized in |
| Layout Component Move | Mixed with features | Centralized in |
| 转换操作 | 转换前状态 | 转换后状态 |
|---|---|---|
| 组件拆分 | 单文件超过300行 | 功能文件夹,包含同域相关文件 |
| 类型提取 | 内联接口 | 独立的 |
| 常量提取 | 内联魔法值 | 独立的 |
| Hook提取 | 内联useState/useEffect | 独立的 |
| UI组件迁移 | 分散在功能模块中 | 集中至 |
| 布局组件迁移 | 与功能模块混合 | 集中至 |
npm run buildnpm run buildnpm run buildnpm run build| Risk | Detection | Mitigation |
|---|---|---|
| Build failure after restructure | | Rollback: restore from source, investigate specific error |
| Missing imports | Module not found errors | Scan all imports before/after, update missed paths |
| Circular dependencies | Build warning or runtime error | Analyze dependency graph, break cycles by extracting shared code |
| Lost functionality | Tests fail or UI broken | Run existing tests before/after transformation |
| Name collisions | Duplicate export names | Rename with feature prefix before moving |
| 风险 | 检测方式 | 缓解措施 |
|---|---|---|
| 重构后构建失败 | | 回滚:从原源码恢复,排查具体错误 |
| 缺失导入 | “模块未找到”错误 | 扫描重构前后的所有导入路径,更新遗漏的路径 |
| 循环依赖 | 构建警告或运行时错误 | 分析依赖关系图,通过提取共享代码打破循环 |
| 功能丢失 | 测试失败或UI异常 | 转换前后运行现有测试用例 |
| 名称冲突 | 导出名称重复 | 迁移前添加功能前缀重命名 |
| File | Purpose |
|---|---|
| Split thresholds, extraction rules, transformation order |
| Component classification by category |
| Import update rules, path aliases, barrel exports |
| Target directory structure template |
| 文件 | 用途 |
|---|---|
| 拆分阈值、提取规则、转换顺序 |
| 组件分类规则 |
| 导入更新规则、路径别名、桶导出 |
| 目标目录结构模板 |