# newbms **Repository Path**: Mr-Smile/newbms ## Basic Information - **Project Name**: newbms - **Description**: vue3+ts管理后台 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-06-24 - **Last Updated**: 2022-08-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vue3-admin-ts 本架构使用的技术为:vue3(setup-script)+vite2+element-plus 的新一代的前端框架 使用 Eslint + Prettier + Husky + Commitlint+ Lint-staged,提高代码规范性和开发效率 ## 构建步骤 ```bash # 克隆项目 git clone http://192.168.31.41:8888/web/wms/project/bms.git # 进入项目目录 cd vue3-admin-ts # 安装依赖(建议用pnpm) # 你可以运行npm i -g pnpm 去安装pnpm pnpm i # 启动服务 pnpm run dev # 注意node版本 node版本 >= 16.9.0 ``` 浏览器访问 http://localhost:5003 [pnpm 的安装与使用教程](https://note.youdao.com/s/QS0kIwUw) ## 发布 ```bash # 构建测试环境 pnpm run build-test # 构建生产环境 pnpm run build ``` ## 其它 ```bash # 预览生产环境 pnpm run preview # 代码格式检查并自动修复 pnpm run lint ``` ## 代码提交 ```bash # 因为使用了 husky + commitlint 检查提交描述是否符合规范要求,所以提交代码应该使用 yarn commit 而不是 git commit git commit → yarn commit ``` ## 浏览器支持 注意:vue3 不在支持 IE 浏览器 Modern browsers and Internet Explorer 11+. | [IE / Edge](http://godban.github.io/browsers-support-badges/)
IE / Edge | [Firefox](http://godban.github.io/browsers-support-badges/)
Firefox | [Chrome](http://godban.github.io/browsers-support-badges/)
Chrome | [Safari](http://godban.github.io/browsers-support-badges/)
Safari | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Edge | last 2 versions | last 2 versions | last 2 versions | ## 项目用到的相关技术文档地址 > - [vue3](https://v3.cn.vuejs.org/guide/introduction.html) > - [vue3](https://staging-cn.vuejs.org/guide/introduction.html) > - [Vue3.2 setup 语法糖、Composition API、状态库 Pinia 归纳总结](https://juejin.cn/post/7006108454028836895) > - [TypeScript](https://juejin.cn/post/7088304364078497800) > - [深入理解 TypeScript 高级用法](https://zhuanlan.zhihu.com/p/136254808) > - [TS 中各种高级语法](https://juejin.cn/post/7089809919251054628) > - [element-plus](https://element-plus.org/zh-CN/component/button.html) > - [vxe-table](https://vxetable.cn/#/grid/api) > - [带你用 vue3+vite2 撸后台(系列文章入口)](https://juejin.cn/post/7036302298435289095) > - [参考项目 vue3-admin-ts](https://github.com/jzfai/vue3-admin-ts) > - [参考项目 vue-vben-admin](https://github.com/vbenjs/vue-vben-admin) ## TypeScript 代码哲学 1. 减少不必要的显式类型定义,尽可能多地使用类型推导,让类型的流动像呼吸一样自然 2. 尽可能少地使用 `any` 或 `as any`,注意这里并不是说不能用,而是你判断出目前情况下使用 any 是最优解 3. 如果确定要使用 `any` 作为类型,优先考虑一下是否可以使用 `unknown` 类型替代,毕竟 `any` 会破坏类型的流动 4. 尽可能少地使用 `as xxx`,如果大量使用这种方式纠正类型,那么大概率你对 类型流动 理解的还不够透彻