Skip to content

Workflow

techird edited this page Apr 6, 2016 · 9 revisions

项目 4 构建过程

本文中截图部分托管在 github,如果发现截图无法显示,请自行跨越长城。

在这个项目中,我们将使用 NodeJS 创建一个 Web 应用,支持用户上传照片以及维护其元数据。具体功能包括:

  1. 支持上传图片到服务器,并且保存到腾讯云 COS 服务中
  2. 保存图片访问信息以及元数据到腾讯云 MongoDB 中
  3. 支持更新图片元数据
  4. 列出所有图片记录,支持搜索以及分页
  5. 支持记录并查询搜索关键字历史
  6. 支持图片及其元数据的删除

下面,我们将一步步带领大家完成这个 Web 应用。

线上运行

目前项目 4 已经在线上运行,地址为 http://project4.qcourse.net

项目对应的 HTTP 请求报文已经分享到 Postman 中,安装了 Postman 的同学可以直接导入或者运行。

https://www.getpostman.com/collections/bf1a387c72503ec19560

Run in Postman

开发过程中,可修改 Postman 的 HTTP 请求地址到自己项目对应的线上地址。

准备

知识

本项目假设开发者已经了解以下基础知识,项目开展过程中这些知识不再讲解:

  • NodeJS
  • Express
  • ES 2015,本项目使用到包括但不限于箭头函数、字符串模板、Generator/Promise

工具

本项目使用到下列开发工具,读者可根据自身情况选择是否使用:

  • SecureCRT - 用于连接到腾讯云服务器,Linux 环境可以直接使用 ssh
  • SecureFX - 用于同步开发环境代码到服务器上
  • PM2 - 一个 NodeJS 应用容器,支持应用自动重启和 Watch 模式

云资源

本项目使用到的云资源包括:

  1. 腾讯云 CVM 1 台,配置 EIP
  2. 腾讯云 COS 服务,创建 bucket 1 个
  3. 腾讯云 CMongo 服务,需要提前申请开通
  4. (可选)腾讯云注册域名一个,用于指向提供的服务。

开工

总结

到目前为止,一个较为完整的图片图床应用的 Node 服务端就搭建完毕了。大家看看从这个案例都学习到了哪些知识。

  • 腾讯云 COS 服务的管理及其 SDK 的使用,包括上传和删除
  • 腾讯云 MongoDB 服务的申请、密码管理;MongoDB 的连接以及 CRUD 操作
  • 使用 multer 处理文件上传
  • 使用 body-parser 解析 JSON 类型的报文
  • 使用 co 来处理异步代码
  • 使用 pm2 来搭建开发和生产环境
  • 一般的分页业务处理方法