搭建API Mock
Posted 新手问路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建API Mock相关的知识,希望对你有一定的参考价值。
所需环境
Node.js 8.9.4+ mysql 5.7+ Redis 4.0+
Node.js 安装
1.要安装nvm,需要安装构建源包所需的工具,CentOS 上安装,用这些命令来安装构建工具: sudo yum update sudo yum groupinstall ‘Development Tools‘ 2.现在当安装构建工具时,需要从nvm的官方github存储库获取并执行安装脚本 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash 3.这将在您的机器上安装nvm。关闭或者重新打开您的终端,运行以下命令检查nvm是否已成功安装,这个命令简单的终输出 nvm command -v nvm 4. 要找出可以通过nvm安装的Node.js的可用版本,运行以下命令,这个命令的输出将提供一个庞大的node版本列表 nvm ls-remote 5.安装 nvm install 8.15.1 安装PM2 npm install -g pm2
Mysql 5.7+ 安装
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar tar -xvf mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar 安装依赖: yum install libaio.so.1* yum install perl 安装mysql rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm 启动: systemctl start mysqld 登录 (第一次密码为空也可登陆不行就获取临时密码) mysql -uroot -p 获取密码: cat /var/log/mysqld.log |grep ‘generated‘ 使用获取的密码登录 mysql -uroot -p密码 登陆mysql后操作 mysql> 修改密码限制不然无法设置太简单的密码 set global validate_password_policy=0; set global validate_password_length=1; 修改密码 alter user ‘root‘@‘localhost‘ identified by ‘123456‘; 创建一个RAP2_DELOS_APP数据库一会要用 CREATE DATABASE IF NOT EXISTS RAP2_DELOS_APP DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Redis-4.0.11安装
wget http://download.redis.io/releases/redis-4.0.11.tar.gz tar xzf redis-4.0.11.tar.gz cd redis-4.0.11 make 启动服务端 src/redis-server & 客户端连接测试 src/redis-cli
后端 rap2-delos 安装
# 下载源代码 git clone https://github.com/thx/rap2-delos.git # 切换目录 cd rap2-delos # 安装依赖包 npm install # 安装 TypeScript 编译包 npm install typescript -g # 编辑测试配置文件(注意这里只是为了测试,主要是为了初始化数据库) rap2-delos/src/config/config.dev.ts # 修改的内容(大约在11行左右开始): # 将数据库配置成我们的数据库名称和路径和用户和密码 dialect: ‘mysql‘, host: ‘localhost‘, port: 3306, username: ‘root‘, password: ‘123456‘, database: ‘RAP2_DELOS_APP‘, # 编译启动 npm run build npm run create-db npm run dev # 编辑正式配置文件(配置正式数据库) rap2-delos/src/config/config.prod.ts # 修改的内容(大约在12行左右开始): # 将数据库配置成我们的数据库名称和路径和用户和密码 dialect: ‘mysql‘, host: process.env.MYSQL_URL || ‘localhost‘, port: (process.env.MYSQL_PORT && parseInt(process.env.MYSQL_PORT)) || 3306, username: process.env.MYSQL_USERNAME || ‘root‘, password: process.env.MYSQL_PASSWD || ‘123456‘, database: process.env.MYSQL_SCHEMA || ‘RAP2_DELOS_APP‘, # 打开tsconfig.json文件,找的到"noImplicitAny"改为false 不然build会报错 npm run build npm start
前端 rap2-dolores 安装
# 拉取代码 git clone https://github.com/thx/rap2-dolores.git # 切换目录 cd rap2-dolores # 初始化 npm install # 正式配置 配置文件路径:/src/config/config.prod.js module.exports = { serve: ‘http://10.1.3.210:8080‘, keys: [‘some secret hurr‘], session: { key: ‘koa:sess‘ } } 更改serve 字段 改成我们的后端访问地址,访问地址直接使用ip,不要使用127.0.0.1。 注意加 http:// # 编译React生产包 npm run build # 安装serve npm install -g serve # 运行 serve -s ./build -p 8010 & #由于出现关闭ssh窗口自动断掉,在rap2-dolores文件夹里放置了一个sh脚本执行serve -s ./build -p 8010 & # 开放局问8080和8010端口权限 一个服务器的一个前端的 firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload firewall-cmd --zone= public --query-port=8080/tcp firewall-cmd --zone=public --add-port=8010/tcp --permanent firewall-cmd --reload firewall-cmd --zone=public --query-port=8010/tcp
以上是关于搭建API Mock的主要内容,如果未能解决你的问题,请参考以下文章
json-server30秒无代码搭建一个完整的REST API服务-基础入门