216 lines
6.7 KiB
Markdown
216 lines
6.7 KiB
Markdown
# 大妈集市商户端平台开发文档
|
||
|
||
## 项目简介
|
||
|
||
**项目名称**: 大妈集市商户端
|
||
|
||
**版本**: 2.0.0
|
||
|
||
**描述**: 大妈集市商户端
|
||
|
||
**作者**: objstudio
|
||
|
||
## 项目结构
|
||
|
||
### 主要目录
|
||
|
||
- `src/`: 源代码目录,包括所有 Vue 组件和相关资源。
|
||
- `build/`: 构建脚本和配置文件。
|
||
- `public/`: 静态资源目录。
|
||
- `node_modules/`: 项目依赖包目录。
|
||
|
||
### 关键文件
|
||
|
||
- `package.json`: 项目配置和依赖管理文件。
|
||
- `vue.config.js`: Vue CLI 配置文件。
|
||
- `babel.config.js`: Babel 配置文件。
|
||
- `.eslintrc.js`: ESLint 配置文件。
|
||
|
||
## 脚本命令
|
||
|
||
### 开发和构建
|
||
|
||
- `serve`: 启动开发服务器。
|
||
```sh
|
||
npm run serve
|
||
```
|
||
- `build:prod`: 进行生产环境构建。
|
||
```sh
|
||
npm run build:prod
|
||
```
|
||
- `build:stage`: 进行阶段环境构建。
|
||
```sh
|
||
npm run build:stage
|
||
```
|
||
|
||
### 代码检查和修复
|
||
|
||
- `lint`: 运行 ESLint 进行代码检查。
|
||
```sh
|
||
npm run lint
|
||
```
|
||
|
||
### 预览
|
||
|
||
- `preview`: 启动预览服务器。
|
||
```sh
|
||
npm run preview
|
||
```
|
||
|
||
## 代码质量控制
|
||
|
||
### Husky
|
||
|
||
配置了 `husky` 来管理 Git 钩子,保证代码在提交前经过检查。
|
||
|
||
- `pre-commit`: 在提交前运行 `lint-staged`。
|
||
|
||
### Lint-Staged
|
||
|
||
使用 `lint-staged` 在提交前自动修复和添加代码。
|
||
|
||
```json
|
||
"lint-staged": {
|
||
"src/**/*.{js,vue}": [
|
||
"eslint --fix",
|
||
"git add"
|
||
]
|
||
}
|
||
```
|
||
|
||
## 依赖管理
|
||
|
||
### 生产依赖
|
||
|
||
项目使用了多种前端依赖来实现不同的功能。以下是主要的生产依赖:
|
||
|
||
- `vue`: Vue.js 框架。
|
||
- `axios`: HTTP 请求库。
|
||
- `element-ui`: 组件库。
|
||
- `vue-router`: 路由管理。
|
||
- `vuex`: 状态管理。
|
||
- 其他库如 `dayjs`, `echarts`, `quill`, `xlsx` 等,用于日期处理、图表绘制、富文本编辑、Excel 文件处理等功能。
|
||
|
||
### 开发依赖
|
||
|
||
主要用于开发环境的工具和插件:
|
||
|
||
- `@vue/cli-plugin-babel`: Babel 插件。
|
||
- `@vue/cli-plugin-eslint`: ESLint 插件。
|
||
- `eslint`: 代码检查工具。
|
||
- `sass` 和 `sass-loader`: 用于处理 Sass 样式。
|
||
- `vue-loader`, `vue-template-compiler`: Vue 文件编译工具。
|
||
|
||
## 浏览器兼容性
|
||
|
||
项目设置了浏览器兼容性配置,以确保在主流浏览器上正常运行。
|
||
|
||
```json
|
||
"browserslist": [
|
||
"> 1%",
|
||
"last 2 versions"
|
||
]
|
||
```
|
||
|
||
## 运行环境
|
||
|
||
项目要求的 Node.js 和 npm 版本:
|
||
|
||
```json
|
||
"engines": {
|
||
"node": ">=8.9",
|
||
"npm": ">= 3.0.0"
|
||
}
|
||
```
|
||
|
||
## 版本控制
|
||
|
||
项目的代码托管在 Git 仓库中
|
||
|
||
## 关键词
|
||
|
||
为了方便搜索和分类,项目添加了以下关键词:
|
||
|
||
```json
|
||
"keywords": [
|
||
"vue",
|
||
"admin",
|
||
"dashboard",
|
||
"element-ui",
|
||
"boilerplate",
|
||
"admin-template",
|
||
"management-system"
|
||
]
|
||
```
|
||
|
||
确实,有一些依赖没有详细介绍。下面是对所有依赖项的详细说明。
|
||
|
||
### 生产依赖
|
||
|
||
- **@micro-zoe/micro-app**: 用于微前端架构的解决方案,支持在主应用中加载和运行多个子应用。
|
||
- **@riophae/vue-treeselect**: Vue 组件,用于实现树选择功能。
|
||
- **axios**: 用于处理 HTTP 请求。
|
||
- **clipboard**: 操作剪贴板的库。
|
||
- **compressorjs**: 用于图片压缩的 JavaScript 库。
|
||
- **core-js**: 提供 JavaScript 标准库的 polyfill。
|
||
- **crypto-js**: 提供加密算法的 JavaScript 库。
|
||
- **dayjs**: 轻量级的日期处理库。
|
||
- **echarts**: 强大的图表绘制库。
|
||
- **element-ui**: 基于 Vue 的组件库。
|
||
- **file-saver**: 用于保存文件的库。
|
||
- **fuse.js**: 轻量级的模糊搜索库。
|
||
- **highlight.js**: 用于代码高亮显示的库。
|
||
- **js-beautify**: 用于美化 JavaScript、HTML 和 CSS 代码的库。
|
||
- **js-cookie**: 用于操作 cookies 的简单 API。
|
||
- **jsencrypt**: 用于实现 RSA 加密解密的库。
|
||
- **mockjs**: 用于生成随机数据和拦截 Ajax 请求。
|
||
- **nprogress**: 轻量级的进度条库。
|
||
- **obj-table-plus**: 高度自定义的数据表格组件。
|
||
- **quill**: 强大的富文本编辑器。
|
||
- **screenfull**: 用于全屏操作的库。
|
||
- **signature_pad**: 用于签名绘制的库。
|
||
- **sortablejs**: 强大的拖拽排序库。
|
||
- **video.js**: 用于播放视频的库。
|
||
- **vue**: Vue.js 框架。
|
||
- **vue-amap**: Vue 组件,用于高德地图集成。
|
||
- **vue-cookie**: 用于操作 Vue 应用中的 cookies。
|
||
- **vue-count-to**: 用于实现数字滚动效果的 Vue 组件。
|
||
- **vue-cropper**: 用于图像裁剪的 Vue 组件。
|
||
- **vue-meta**: 用于管理 Vue 应用的 meta 信息。
|
||
- **vue-router**: Vue 的路由管理库。
|
||
- **vuedraggable**: 用于实现拖拽功能的 Vue 组件。
|
||
- **vuex**: Vue 的状态管理库。
|
||
- **vxe-table**: 高性能的 Vue 表格组件。
|
||
- **xe-utils**: 实用工具库,提供一系列实用函数。
|
||
- **xlsx**: 用于解析和编写 Excel 文件的库。
|
||
|
||
### 开发依赖
|
||
|
||
- **@vue/cli-plugin-babel**: Vue CLI 的 Babel 插件,用于编译 ES6+ 代码。
|
||
- **@vue/cli-plugin-eslint**: Vue CLI 的 ESLint 插件,用于代码检查。
|
||
- **@vue/cli-service**: Vue CLI 的核心服务,用于构建和开发。
|
||
- **autoprefixer**: 自动为 CSS 规则添加浏览器前缀的插件。
|
||
- **babel-eslint**: 用于解析 Babel 代码的 ESLint 解析器。
|
||
- **babel-plugin-dynamic-import-node**: 用于在 Node.js 中解析 `import()` 语法。
|
||
- **chalk**: 用于终端字符串样式的库。
|
||
- **compression-webpack-plugin**: 用于压缩资源文件的 Webpack 插件。
|
||
- **connect**: 用于创建服务器中间件的库。
|
||
- **eslint**: JavaScript 代码检查工具。
|
||
- **eslint-plugin-vue**: 用于检查 Vue 代码的 ESLint 插件。
|
||
- **lint-staged**: 在提交代码前检查暂存文件的工具。
|
||
- **postcss**: 用于转换 CSS 的工具。
|
||
- **runjs**: 用于运行 JavaScript 脚本的命令行工具。
|
||
- **sass**: 用于编译 Sass/SCSS 代码。
|
||
- **sass-loader**: 用于在 Webpack 中加载和编译 Sass/SCSS 代码。
|
||
- **script-ext-html-webpack-plugin**: 用于增强 HTML Webpack 插件功能的扩展插件。
|
||
- **svg-sprite-loader**: 用于将 SVG 图标打包成雪碧图的 Webpack 插件。
|
||
- **tailwindcss**: 一个功能类优先的 CSS 框架。
|
||
- **vue-loader**: 用于加载和编译 Vue 组件的 Webpack 插件。
|
||
- **vue-style-loader**: 用于处理 Vue 组件中的样式的 Webpack 插件。
|
||
- **vue-template-compiler**: 用于编译 Vue 模板的库。
|
||
|
||
通过上述详细说明,可以帮助开发者更好地理解项目的依赖项及其作用。
|
||
|
||
---
|
||
|
||
本开发文档旨在帮助开发者快速了解项目结构、依赖管理和主要脚本命令。通过上述信息,开发者可以更高效地进行开发和维护工作。 |