- 一键化使用
- Docker的应用
- Graphql
- Makefile
- docker
- husky
- eslint
- lint-staged
- prettier
- TypeScript
- ts-node
- tsconfig-paths
- Express
- nginx
- swagger
- nodemon
- swc
- cross-env
- jest
- ts-jest
- pm2
- cross-env
- dotenv
- env.local
- cors
- supertest - 用于测试 HTTP 服务器的 SuperAgent 驱动库
- class-transformer - 允许使用基于装饰器和非装饰器的验证,将普通对象转换为类的某个实例,允许根据标准序列化/反序列化对象
- bcrypt - 散列密码的库
- compression - Node.js 压缩中间件
- helmet - 中间件,通过设置各种header来为express应用提供安全保护
- hpp - 用于防止 HTTP 参数污染攻击的Express中间件
- jsonwebtoken - JSON Web Token 实现(对称和非对称)
- swagger-jsdoc - 该库读取您的JSDoc 注释源代码并生成OpenAPI (Swagger) 规范
- swagger-ui-express - 此模块允许您基于文件提供从 express自动生成的swagger-uiswagger.json生成的 API 文档。结果是通过路由从 API 服务器托管的 API 的实时文档。
- winston - 简单且通用的日志库,支持多种传输
- morgan - node.js 的 HTTP 请求记录器中间件
- oss
- prisma
- envalid - Envalid 是一个小型库,用于验证和访问 Node.js(v8.12 或更高版本)程序中的环境变量
- graphql - graphql传输方式
- apollo-server-express - graphql在线测试接口平台
TODO
- 新增Graphql
- 新增'http://localhost:3000/graphql', 'http://localhost:3000/graphql/mock'
- 运行docker测试数据库:
docker-compose -f docker-compose-dev.yml up --force-recreate
, 运行npm run prisma:migrate
- 打开:
http://localhost:3000/graphql
,可以访问在线测试graphql平台 - CRUD:
mutation {
createPost(post: {
id: "12",
title: "12",
content: "12",
}) {
id,
title,
content
}
}
query {
listPosts {
id,
title,
content
}
}
query {
getPostById(postId: "8") {
id,
title,
content
}
}