一句话先给结论:
企业级前端脚手架,本质不是“为了方便你写页面”,而是为了:
统一规范、降低协作成本、可控上线风险。
它和个人/学习用脚手架的最大区别是:
👉 “多而全 + 强约束 + 可治理”
一、整体结构:企业脚手架在“管什么”?
通常会覆盖 6 大类能力:
- 项目与目录规范
- 技术栈与构建体系
- 代码质量与约束
- 业务基础能力(最核心)
- 工程化 & 运维支持
- 安全、合规、审计
下面逐类拆开说。
二、项目结构与规范(第一层约束)
1️⃣ 统一目录结构
企业脚手架几乎一定会强制统一目录结构:
src/
├─ api/ # 接口定义
├─ assets/ # 静态资源
├─ components/ # 通用组件
├─ pages/ # 页面级组件
├─ router/ # 路由
├─ store/ # 状态管理
├─ utils/ # 工具函数
├─ styles/ # 全局样式
└─ main.ts
目的不是“好看”,而是:
- 换人能立刻看懂
- 降低跨项目维护成本
- 方便做自动化分析和治理
2️⃣ 命名规范 + 目录约定
常见约束:
- 组件必须
PascalCase - 页面目录必须与路由一致
- api 必须集中管理,禁止散落调用
这些通常会配合 eslint 规则强制执行。
三、技术栈与构建体系(第二层约束)
1️⃣ 技术栈“锁死”
企业脚手架通常会:
- 固定框架版本(Vue 3.x / React 18)
- 固定构建工具(Vite / Webpack)
- 固定包管理器(pnpm / yarn)
# 直接锁死
"engines": {
"node": ">=18 <21"
}
目的只有一个:
避免“你能跑、我跑不了”的问题
2️⃣ 多环境配置体系
企业项目几乎一定有:
- dev
- test
- staging
- prod
脚手架会内置:
.env.development
.env.test
.env.production
并统一:
- 接口地址
- 域名
- 功能开关
- 日志级别
四、代码质量体系(第三层约束,强制)
这是企业脚手架和个人脚手架差距最大的地方之一。
1️⃣ eslint + prettier(必选)
而且是:
- 不开 = 不能提交
- 不符合规范 = CI 失败
通常会配:
- eslint-config-company
- 统一 rules
2️⃣ Git Hooks(强制校验)
常见组合:
- husky
- lint-staged
- commitlint
流程通常是:
git commit
↓
检查 commit message
↓
检查改动文件 lint
↓
不通过 → 拒绝提交
3️⃣ 提交信息规范
比如:
feat: 新增用户管理页面
fix: 修复列表分页问题
refactor: 重构权限模块
👉 不是形式主义,而是为了:
- 自动生成 changelog
- 回滚、审计可追溯
五、业务基础能力(企业脚手架的“灵魂”)
这一部分,才是企业愿意投入成本做脚手架的核心原因。
1️⃣ 登录 & 鉴权体系(必有)
通常会内置:
- token 管理
- 登录态刷新
- 权限路由
- 按钮级权限控制
你新项目一创建,就已经:
“默认支持公司统一的登录和权限体系”
2️⃣ API 请求封装(强约束)
常见做法:
- 禁止直接用 axios / fetch
- 必须用公司封装的 request
request({
url: '/user/list',
permission: 'user:view'
})
好处:
- 统一错误处理
- 统一鉴权
- 统一日志 & 监控
- 可灰度、可限流
3️⃣ UI 组件库
企业脚手架几乎一定会:
- 预装公司 UI 组件库
- 覆盖基础组件(按钮、表格、弹窗)
目的是:
- 统一风格
- 提升开发效率
- 降低设计成本
4️⃣ 国际化 / 多语言
哪怕当前项目不用,也常常默认集成:
- i18n 框架
- 文案集中管理
- 自动提取文案能力
六、工程化 & 运维支持(“给后期省命”)
1️⃣ 日志 & 监控
脚手架通常会集成:
- 前端错误监控(Sentry / 自研)
- 性能监控
- 用户行为埋点
而且是默认启用。
2️⃣ 构建优化
企业脚手架通常会内置:
- 分包策略
- 懒加载规范
- CDN 路径规则
- gzip / brotli
开发者不用关心“怎么配”。
3️⃣ CI / CD 对接
很多企业脚手架会直接:
- 生成 CI 配置文件
- 约定构建命令
- 输出标准构建产物
npm run build:test
npm run build:prod
七、安全、合规、治理(大厂才明显)
在稍微大一点的公司,脚手架还会加:
1️⃣ 安全扫描
- 依赖漏洞扫描
- XSS / CSP 基础防护
- 敏感信息检查
2️⃣ 前端权限治理
- 路由权限集中管理
- 页面访问审计
- 权限变更可追溯
3️⃣ 灰度 / Feature Flag
脚手架会内置:
if (feature('new_user_center')) {
// 新功能
}
方便灰度发布、快速回滚。
八、为什么这些东西“一定要放进脚手架”?
核心原因只有三点:
- 人会变,项目要活
- 规范靠文档不靠谱
- 问题越早限制,成本越低
👉 所以企业级脚手架的本质是:
把“最佳实践”变成“默认行为”
九、总结一句话(工程视角)
个人脚手架解决“我怎么快点开始”,
企业级脚手架解决“100 个人怎么不出事”。