【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (二):项目文件夹架构及路由的设置

本项目旨在学习如何快速使用 nodejs 开发后端api,并为以后开展其他项目的开启提供简易的后端模版。(非后端工程师)
由于文档是代码写完之后,为了记录项目中需要注意的技术点,因此文档的叙述方式并非开发顺序(并非循序渐进的教学文档)。建议配合项目源码node-mongodb-template

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (一):项目简介及安装依赖

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (二):项目文件夹架构及路由的设置

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (三):Cors的设置及.env文件的设置

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (四):状态码的使用

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (五):POST上传文件的设置

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (六):token的设置

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (七):MongoDB的设置

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (八):API说明(暂时完结,后续考虑将在线版mongoDB变为本地版)

项目文件的架构

通常文件架构是在开发过程中,逐步完善的,但是也可以直接确定架构后,按照模版的进行开发。

-** 表示文件;**表示文件夹

这里仅展示手动创建且会修改的文件及文件夹

项目文件夹(根目录)
  -package.json 			配置文件 pnpm i 会自动生成
  -gitignore 					git操作会忽略的文件
  -.env								环境变量的配置 结合dotenv依赖使用
  -app.js							全局变量、路由的配置等
  -server.js					启动文件 常规启动 终端node server.js
  uploads							文件夹 上传文件的存储位置
  	-**.jpeg
  api									api相关代码文件夹
    models						数据表的定义
      -product.js		
      -order.js
      -user.js
    routers						路由 api请求响应
      -products.js
      -orders.js
      -user.js
    middleware				中间件
      -check-auth.js
    controllers				路由 api请求响应的回调
      -products.js
      -orders.js
      -user.js

这里需要说明的是

controllers文件夹下的内容是从routers中提取出来的,目的是为了代码的可读性。

middleware中会放入多处经常需要使用的中间件。

路由的设置

localhost:3000/products 为例,新建文件夹routers, 然后在文件夹中新建文件products.js

//products.js
const express = require('express');
const router= express.Router();
//注意,这里使用的是 /
router.get('/',(req,res,next) => {
  
});

router.get('/:productId',(req,res,next) => {
  
});

//暴露
module.exports = router;

在文件app.js中引用该文件。

const express = require('express');;
const app = express();
//引用并使用products
const productsRoutes = require('./api/routers/products');
//注意这里是/products,此时如果需要查看productsAPI就需要访问地址localhost:3000/products/
app.use('/products',productsRoutes);

module.exports = app;
posted @ 2024-10-24 10:03  Sitar  阅读(0)  评论(0编辑  收藏  举报