使用nvm进行node版本控制

创建Express项目

express脚手架

使用脚手架快速生成express项目:

  1. 全局安装express-generator
1
npm i -g express-generator@4
  1. 脚手架创建express项目
    –no-view表示不需要视图模板
1
express --no-view proj-name && cd proj-name
  1. 安装项目依赖,启动项目
1
2
npm i 
npm run start
  1. 删除跟路由渲染的html文件
    删除public/index.html文件

  2. 引入热更新
    安装nodemon

1
npm i nodemon

修改package.json中项目启动命令:

1
2
3
4
5
{
"scripts": {
"start": "nodemon ./bin/www"
}
}
  1. 处理跨域
    安装cors库
1
npm i cors

app.js中进行配置:

1
2
3
4
const cors = require('cors')
app.use(cors({
origin:'http://前端服务地址'
}))

使用Docker安装Mysql

Docker教程

docker-compose

配置docker镜像(Settings/Docker Engine):

1
2
3
4
5
6
7
8
9
10
11
12
"registry-mirrors": [
"https://docker.hpcloud.cloud",
"https://docker.m.daocloud.io",
"https://docker.unsee.tech",
"https://docker.1panel.live",
"http://mirrors.ustc.edu.cn",
"https://docker.chenby.cn",
"http://mirror.azure.cn",
"https://dockerpull.org",
"https://dockerhub.icu",
"https://hub.rat.dev"
]

在项目根目录新建docker-compose.yml文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
services:
mysql:
image: mysql:8.3.0
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
environment:
- MYSQL_ROOT_PASSWORD=your_password
- MYSQL_LOWER_CASE_TABLE_NAMES=0
ports:
- "3306:3306"
volumes:
- ./data/mysql:/var/lib/mysql

在根目录终端运行命令:

1
docker-compose up -d

在navicat中使用docker-compose.yml中的信息新建连接