# 说明

[VSCode](https://code.visualstudio.com/) + [vue3.4+](https://vue3js.cn/docs/zh/) + [typescript5.3+](https://www.typescriptlang.org/zh/) + [vite5.0+](https://vitejs.cn/) + [element-plus2.6+](https://element-plus.gitee.io/#/zh-CN)

## crates地址

[crates](https://crates.io/)

## 解决 提交代码时提示 npx: not found

1. 在`C:\Users\你等用户名\.config\husky` 目录下新建 `init.sh`
2. 在`init.sh`文件中输入`eval "$(fnm env --use-on-cd)"`并保存
3. 重启vscode

## 使用淘宝源镜像(解决安装慢)

```bash
# 全局设置全局设置后无需每次 添加后缀--registry https://registry.npmmirror.com/
npm config set registry https://registry.npmmirror.com/

# 配置后可通过下面方式来验证是否成功
npm config get registry

# 果想还原npm仓库地址的话,只需要在把地址配置成npm镜像就可以了
npm config set registry https://registry.npmjs.com

# 仅在每次使用时指定淘宝源,即在后面添加 --registry https://registry.npmmirror.com/ 如安装yarn：
npm install -g yarn --registry https://registry.npmmirror.com/
npm install -g npm-check-updates --registry https://registry.npmmirror.com/
```

## 代理

### 命令提示符 (CMD)​

```bash
#依次输入以下命令：
set https_proxy=http://127.0.0.1:7890
set http_proxy=http://127.0.0.1:7890
set all_proxy=socks5://127.0.0.1:7890
```

### PowerShell

```bash
#依次输入以下命令：
$env:https_proxy="http://127.0.0.1:7890"
$env:http_proxy="http://127.0.0.1:7890"
$env:all_proxy="socks5://127.0.0.1:7890"
```

## 初始化

```bash
npm install
```

## 运行

```bash
npm run dev # 测试版
npm run build # 构建正式版
npm run serve # 正式版预览 (需要先运行 npm run build)
```

## 快速删除 node_modules 包

```bash
npm install rimraf -g
```

## 检测或更新依赖包

```bash
# 先安装检测工具
npm install -g npm-check-updates # 或 yarn add -g npm-check-updates

ncu # 或 npm-check-updates 检测
ncu -g # 全局检测
ncu -u # 或 npm-check-updates -u  更新
ncu --target greatest # 检测最大版本(不一定是最新)
ncu --target newest # 检测最新的(包含测试版)
```

## 其他说明

**Element Plus 可以在支持 [ES2018(ES9)](https://caniuse.com/?feats=mdn-javascript_builtins_regexp_dotall,mdn-javascript_builtins_regexp_lookbehind_assertion,mdn-javascript_builtins_regexp_named_capture_groups,mdn-javascript_builtins_regexp_property_escapes,mdn-javascript_builtins_symbol_asynciterator,mdn-javascript_functions_method_definitions_async_generator_methods,mdn-javascript_grammar_template_literals_template_literal_revision,mdn-javascript_operators_destructuring_rest_in_objects,mdn-javascript_operators_spread_spread_in_destructuring,promise-finally) 和 [ResizeObserver](https://caniuse.com/resizeobserver) 的浏览器上运行。 如果您确实需要支持旧版本的浏览器,请自行添加 Babel 和相应的 Polyfill 。**

**代码还使用了 [可选链 (?.)](https://caniuse.com/mdn-javascript_operators_optional_chaining) ,在测试环境下请注意浏览器是否支持可选链,打包时可通过配置 vite 中的 [build.target](https://vitejs.dev/config/build-options.html#build-target) 来兼容 。**

### 部分 api 支持的最低版本

| API            | chrome | firefox | safari |
| -------------- | ------ | ------- | ------ |
| 可选链(?.)     | 80     | 74      | 13.1   |
| ResizeObserver | 69     | 64      | 13.1   |

### 当前主流浏览器内核版本号（2022.10.12）

| 浏览器          | 内核版本 | 是否支持                          |
| --------------- | -------- | --------------------------------- |
| Opera浏览器     | 103      | 完全支持                          |
| 青鸟浏览器      | 97       | 完全支持                          |
| 遨游浏览器      | 96       | 完全支持                          |
| QQ浏览器        | 94       | 完全支持                          |
| 双核浏览器      | 101      | 完全支持                          |
| 360浏览器       | 114      | 完全支持                          |
| 360极速浏览器   | 108      | 完全支持                          |
| 搜狗浏览器      | 94       | 完全支持                          |
| 猎豹浏览器8     | 79       | 仅编译后支持,开发阶段不支持可选链 |
| 2345 加速浏览器 | 109      | 完全支持                          |
