# Vue 3 + TypeScript + Vite > 📚 **团队文档中心**:前后端统一架构、编码标准、接口契约与 agent 协作边界见仓库同级 [`../docs/README.md`](../docs/README.md)(`architecture.md` / `coding-standards.md` / `agent-guide.md`)。业务开发请写在 `src/subsystem/**`,`src/framework/**` 为只读共享框架。 ## 环境 ### 安装node.js 安装18.20.7版本 ### 安装npm - 新版的nodejs已经集成了npm,输入 "npm -v" 来测试是否成功安装 - 设置npm镜像源为淘宝镜像:npm config set registry https://registry.npmmirror.com ### 安装开发工具及插件 安装Visual Studio Code开发工具 安装Vue Language Features (Volar)插件 : 为.vue单文件组件提供代码高亮以及语法支持 安装TypeScript Vue Plugin (Volar)插件 : ts语法支持 安装JavaScript (ES6) code snippets插件 : es6的快捷语法 #### 设置npm源为淘宝镜像 npm install --registry=https://registry.npmmirror.com ### 安装依赖 npm install ### 启动本地服务 npm run dev ### 打包测试环境 npm run build:stage ### 打包生产环境 npm run build:prod # 框架文件、开发规范说明 ## public 公共文件夹,不会被编译,以下情况适用 1、不会被源码引用(例如 robots.txt) 2、必须保持原有文件名(没有经过 hash) 3、或者你压根不想引入该资源,只是想得到其 URL。 ## src/assets 公共静态文件夹,目录中文件会被编译 ## src/framework **api** 菜单框架访问后端服务接口 **components** 框架提供公共组件 **hooks** 组合式函数,集成了多个基础组件实现的通用函数 **layout** 菜单框架布局组件 **router** 静态路由 **store** 菜单使用的状态机(菜单配置、用户登录信息等等) **styles** 公共css **types** 公共对象(分页参数对象、弹窗属性对象) **utils** 无状态ts函数、常量配置,例如时间处理工具 **views** 二级菜单内容显示组件 ## src/subsystem 1.子系统开发目录 ### 子系统第一次开发必做事项 **vite.config.ts** 1、将“**build.outDir**”修改为编译后的输出路径,直接输出到微服务发布包“resources/html/微服务名称”中,与后端服务一起,按原有流程发布版本 2、将“**server.proxy**”修改为微服务访问路径,在VSCode开发环境下,将代替nginx的作用 **public/data/data.js** 1、修改publicData.currentSubsystem数据,用于框架获取子系统菜单模块 2、修改publicData.currentSubsystemName数据,用于框架获取子系统中文名称 3、如存在需要兼容老框架的的前端页面,修改externalOldERPIndex数据,否则改为'' ### 子系统后期更新框架注意事项 不需要覆盖的文件夹、文件,以下有改动,会特别说明,并单独修改 1、public 2、vite.config.ts 3、src\subsystem 覆盖完文件后,执行npm install ### 开发规范 **api** 后端服务接口,按照微服务名称划分子文件夹(/api/pms),按照Controller划分ts文件(/api/pms/product.ts) **router/dynamicRouter.ts** 菜单路由配置 **views** 菜单内容组件,按照一、二级菜单划分文件夹(/views/一级菜单名称/二级菜单名称) **components** 子系统内部通用组件,如相同功能,在多个菜单内容组件中多次出现,可抽象为通用组件 **hooks** 子系统内业务相关组合式函数,集成了多个基础组件实现的通用函数 **store** 子系统内业务相关使用的状态机(参考框架使用场景) **styles** 子系统内业务相关公共css **types** 子系统内业务相关公共对象(参考框架使用场景) **utils** 子系统内业务相关处理ts函数、业务常量配置 # UI组件使用规范 UI组件优先使用/src/framework/components/standard/中提供的UI组件,里面的组件使用都可以在框架提供的示例模块中找到使用代码。 如不满足或者没有,则表格组件使用vxe-table,除了表格组件,其他均使用elemen-plus提供的组件 如vxe-table、elemen-plus都不满足,则自己通过css、html实现组件化,并且泛用性高,请提交到框架负责人处,发布到公司的UI组件库 # JS/TS工具类推荐 相同功能优先使用/src/framework/utils/standard/中提供的ts,里面的组件使用都可以在框架提供的示例模块中找到使用代码。 已集成的其他ts工具:xe-utils # 发布前注意事项 1、如果是独立模块或者系统,在/data/doc/升级日志.md中,增加本次升级内容