diff --git a/README.md b/README.md index 1f6880a7e35a8a9c5cc80c7b1771804435c60bc6..a7fb972a7accf7d0f46f21fb43253dae66ac21fc 100644 --- a/README.md +++ b/README.md @@ -2,39 +2,47 @@ #### 介绍 -桌面应用项目开发,NodeJs 技术掌握以及代码提交管理的适应练习。 +桌面应用程序开发,用于提升技术掌握以及代码提交管理。 #### 软件架构 -软件架构说明 +_技术栈:_ -1. Node.js 版本为 16.12.0 及以上 -2. 基础 Electron 项目结构及开发流程 -3. 主要构成为 electron,electron-builder +electron,react,typescript,less,axios,nodejs,koa,mongodb,jest,webpack #### 安装教程 -1. 执行 npm i 进行依赖获取安装 +1. 根目录和 server 目录下分别 `npm i` 安装依赖 2. 执行 npm cache clean --force 进行缓存清理 +3. Node.js 版本必须为 16.12.0 及以上 -#### 使用说明 +#### 指令说明 -1. 执行 npm run start 运行 -2. 执行 npm run pack 打包 -3. 如果应用中接入了 Web 项目,部署测试需使用 serves 服务运行处理对应的 Web 包, +- 前端工程 + +1. 执行 npm run app 运行桌面应用进程开发服务 +2. 执行 npm run serve 运行前端渲染进程开发服务 +3. 执行 npm run build 运行前端渲染进程打包服务 +4. 执行 npm run serve:build 运行前端构建包服务 +5. 执行 npm run pack 运行桌面应用打包服务 +6. 执行 npm run pack:all 运行前端渲染进程打包服务 + 桌面应用主进程打包服务 + 前端构建包服务 +7. 如果应用中接入了 Web 项目,部署测试需使用 serves 服务运行处理对应的 Web 包, 如果为本地 Electron 项目,在执行 npm run pack 成功后,按以下路径启动测试: ../electron-project/dist/win-unpacked/electron-project.exe -4. 其他指令说明: +8. 其他指令说明: npm run structure 生成项目结构文本文件, npm run test 单元测试 -#### 规范说明 +- 后端工程 + +1. 执行 npm run serve 执行后端请求处理服务 +2. 执行 npm run serve:nodemon 执行后端开发调试服务 ##### 编码规范 1. 变量、函数方法等名称语义化命名 2. 对于复杂处理逻辑需进行逻辑注释说明 -3. 按照标准 ECMA(ES12) 规范开发 +3. 按照标准 ECMA 规范开发 4. 格式校验采用插件 ESlint Prettier - Code formatter 规则 ##### 提交规范 @@ -55,13 +63,29 @@ #### 项目结构 ``` + [Dir] .vscode // vscode 配置文件 [File] settings.json -[Dir] build // 打包构建文件 - [File] electron-builder. // 本地资源及三方插件管理,配置信息 -[Dir] dist // 打包后的文件目录 - [Dir] win-unpacked // 本地生成的可执行测试应用程序文件 - [Dir] locales // 本地资源及国际化资源包 +[Dir] app // 桌面端开发目录 + [Dir] general + [File] common.js + [File] ipcEvent.js + [File] main.js // 入口文件 + [File] preload.js // 主进程渲染进程桥梁配置 +[Dir] build // 前端项目打包目录 + [File] bundle.js + [File] favicon.ico + [File] index.d.ts + [File] index.html + [File] logo192.png + [File] logo256.png + [File] manifest.json + [File] robots.txt +[Dir] dist // 桌面端程序打包目录 + [Dir] .icon-ico + [File] icon.ico + [Dir] win-unpacked // 免安装应用测试启动程序 + [Dir] locales // 国际化资源包 [File] af.pak [File] am.pak [File] ar.pak @@ -117,19 +141,38 @@ [File] vi.pak [File] zh-CN.pak [File] zh-TW.pak - [Dir] resources - [File] app.asar + [Dir] resources // 桌面应用源码目录 + [Dir] app + [Dir] app + [Dir] general + [File] common.js + [File] ipcEvent.js + [File] main.js + [File] preload.js + [Dir] build + [File] bundle.js + [File] favicon.ico + [File] index.html + [File] logo192.png + [File] logo256.png + [File] manifest.json + [File] robots.txt + [File] package.json + [Dir] server + [File] index.js + [File] package-lock.json + [File] package.json [File] elevate.exe [File] chrome_100_percent.pak [File] chrome_200_percent.pak [File] d3dcompiler_47.dll - [File] electron-project.exe // 执行打包后的桌面应用测试程序 [File] ffmpeg.dll [File] icudtl.dat [File] libEGL.dll [File] libGLESv2.dll [File] LICENSE.electron.txt [File] LICENSES.chromium.html + [File] MTLH.exe [File] resources.pak [File] snapshot_blob.bin [File] v8_context_snapshot.bin @@ -138,15 +181,34 @@ [File] vulkan-1.dll [File] builder-debug.yml [File] builder-effective-config.yaml - [File] electron-project Setup 1.0.0.exe // 当前桌面应用系统安装进程 - [File] electron-project Setup 1.0.0.exe.blockmap -[File] .gitignore // git 排除项配置 -[File] index.html // 项目根文件 -[File] main.js // 项目入口文件 -[File] node-folder.js // 目录结构生成配置 -[File] package-lock.json // 依赖版本信息 -[File] package.json // 依赖项指令配置 -[File] README.md // 项目文档 + [File] MTLH Setup 1.0.0.exe // 桌面应用安装程序 + [File] MTLH Setup 1.0.0.exe.blockmap +[Dir] public // 前端静态资源目录 + [File] favicon.ico + [File] index.html + [File] logo192.png + [File] logo256.png + [File] manifest.json + [File] robots.txt +[Dir] server // 后端服务请求工程目录 + [File] index.js // 入口文件 + [File] package-lock.json + [File] package.json +[Dir] src // 前端项目工程目录 + [Dir] styles + [File] index.less + [File] index.tsx // 入口文件 + [File] setupTests.js +[File] .babelrc // 编译转换配置 +[File] .gitignore // git忽略项配置 +[File] config-structure.js // 目录结构生成指令配置 +[File] jest-preset.json // 单元测试配置 +[File] LICENSE // 开源凭证信息 +[File] package-lock.json +[File] package.json // 依赖管理、指令控制 +[File] README.md // 说明文档 +[File] tsconfig.json // typescript规则配置 +[File] webpack.config.js // 前端项目构建配置 ```