【node.js后台api项目】(一)项目初始化
一、前言
最近在学习使用
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,第一节就先讲到这里,下一节来实现注册功能!
这篇博客介绍了如何使用Node.js和Express搭建一个后台API项目。首先通过npm初始化项目,安装并配置Express以创建Web服务器。接着,解决了跨域问题,采用CORS中间件实现。然后,利用Express内置中间件解析请求体数据,并展示了如何使用mysql包操作MySQL数据库。项目结构清晰,适合初学者参考。
1410

被折叠的 条评论
为什么被折叠?



