# template **Repository Path**: vtorjin/template ## Basic Information - **Project Name**: template - **Description**: electron+vue3+nodejs快速模板, 支持nest, koa 两个版本,默认为nestjs版本,包含swagger文档, 监控运维, 自动化部署。 若要使用koa切换分支即可。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-24 - **Last Updated**: 2024-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## node 服务框架选择 该模板支持 nest.js 和 koa 两个框架, 默认master分支为 nest 版本。 image.png ## 安装启动 pnpm install --registry=https://registry.npmmirror.com pnpm config set electron_mirror "https://npm.taobao.org/mirrors/electron/" ## 配置 ### 数据库配置文件 在 **.env.development**中可选择自己想要使用的数据库,需要使用对应的数据库及缓存服务时,然后配置自己的链接信息. ## 自动化部署 + 在 **config/deploy.json**中配置远端服务器的ip,端口等信息. + 执行 **pnpm run deploy** 会自动将后端的所有资源打包压缩上传到远端服务器, 并使用pm2清除之前已启动的服务实例, 在部署任务启动时, 会根据**deploy.json**的**installed** 表示项目是否已安装依赖, 如果安装了下一次部署时就不需要在进行安装依赖了. + 自动化部署的核心在于 **deploy.ts** 中的 **cmd** 选项, 可以使用 linux 的相关命令实现自己想要的功能。 **tips:** + 建议使用 **pnpm**包管理的工具,会减少后续的安装耗时. + linux远端服务器的node模块可能会存在者平台上的差异,导致有些包无法使用,建议在Linux环境下安装module的操作; + 项目中有新的模块时,需要将 **installed** 设置为 **false**,进行重新安装 **示例效果** ![示例图片](./_deploy.jfif) ![示例图片2](./_deploy2.jfif) ## 运维监控 ### 前端监控 ### 后端日志服务 该模板的日志服务中间件采用的是 **log4js** 作为日志采集从工具 **logs** 文件夹下存储的是不同级别的日志,可根据需要在拦截器里面去自定义相关的存储数据格式. **config/logger.json**,里面是作为日志记录的配置数据,可根据需要自定义相关的配置文件 **日志示例** ![日志示例图片](./log.jfif) 附: [log4js配置地址](https://www.npmjs.com/package/log4js) ## 测试 ### 单元测试 jest 单元测试 class-validator class-transformer //接口 dto 校驗的工具 ### 压力测试