【node.js后台api项目】(一)项目初始化

这篇博客介绍了如何使用Node.js和Express搭建一个后台API项目。首先通过npm初始化项目,安装并配置Express以创建Web服务器。接着,解决了跨域问题,采用CORS中间件实现。然后,利用Express内置中间件解析请求体数据,并展示了如何使用mysql包操作MySQL数据库。项目结构清晰,适合初学者参考。

一、前言

最近在学习使用 n o d e j s nodejs nodejs开发一个后台 a p i api api项目,想着记录下开发过程,方便自己复盘,也希望对刚入门学习 n o d e . j s node.js node.js的小伙伴有所帮助。
为了使内容不至过于冗长,每一篇记录只会记录一部分功能的实现过程。

二、技术栈

  • n o d e . j s node.js node.js
  • e x p r e s s W e b express Web expressWeb应用程序开发框架
  • 使用 C o m m o n J s CommonJs CommonJs语法进行模块化开发

三、项目初始化

1、创建一个最简单的web服务器

  • 在根目录(命名为api_server)下使用 npm init -y进行项目初始化,使用 npm i express 安装 e x p r e s s express express
  • 在根目录下新建 app.js,按照官方文档创建一个最基本的 w e b web web服务器
const express = require('express')

const app = express()

app.listen(3007, () => {
  console.log('各单位注意,3007端口正在被监视!')
})

为了方便项目开发时代码更改能够实时生效而不用重启服务器,使用 nodemon来启动服务器。
安装 n o d e m o n nodemon nodemon npm i nodemon
使用 nodemon ./app.js来启动服务器
在这里插入图片描述

2、解决跨域问题

跨域问题可以使用 C O R S CORS CORS解决,其基本原理就是使用Access-Control-Allow-类的响应头来告诉浏览器允许该源访问服务器资源。
这里为了方便直接使用第三方中间件 c o r s cors cors来解决跨域问题。
可以在npm官网搜索该中间件查看具体用法。
app.js中全局配置该中间件

// 导入cors中间件
const cors = require('cors')
// 使用cors中间件
app.use(cors())

3、使用express内置中间件解析请求体数据

express.urlencoded解析URL-encoded格式的请求体数据(有兼容性,仅在4.16.0+版本中可用)

// 使用内置中间件urlencoded
app.use(express.urlencoded({ extended: true }))

关于express中间件的相关知识可以查阅官方文档,后续再写文章介绍一下。

4、使用第三方包mysql操作mysql数据库

新建 d b db db文件夹,在 d b db db文件夹里新建 index.js文件用于连接数据库并导出连接对象。
---- api_server
    ---- db
        ----index.js
    ----app.js
关于mysql包的使用可以查看官方文档

const mysql = require('mysql')
// 连接数据库可以使用mysql.createConnection(),也可以使用mysql.createPool(),但是第一个
// 创建的是一个连接对象,而第二个创建的是一个连接池对象,由于建立一次连接的开销很大,
// 使用连接池可以将未使用的连接缓存在连接池里,需要时可以进行复用,减少建立连接的开销
const db = mysql.createPool({
  host: '127.0.0.1',
  user: 'root',
  password: '****',
  database: 'api_server'
})

module.exports = db

ok,第一节就先讲到这里,下一节来实现注册功能!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端corner

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值