# 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+.
| [
](http://godban.github.io/browsers-support-badges/)IE / Edge | [
](http://godban.github.io/browsers-support-badges/)Firefox | [
](http://godban.github.io/browsers-support-badges/)Chrome | [
](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`,如果大量使用这种方式纠正类型,那么大概率你对 类型流动 理解的还不够透彻