1.选择框架
轻简,易上手就推荐eggjs,github上star16.8k(https://eggjs.org/zh-cn/intro/)一般中小项目都能满足,开发学习成本基本是0,相关特性可以去网站上查看。
2.在项目中的整体使用及涉及的软件
1.前端代码可以任意,用vue或者react,或者写app、小程序。
2.数据库连接软件用 Navicat Premium 15(下载安装:https://www.jb51.net/article/199496.htm)
3.服务器操作就用Xshell(
链接:https://pan.baidu.com/s/1gEY9wC36NDcXuewhhREl3Q
提取码:qsrl)
备注:如果本地玩玩就运行在本地就好,否则就需要入坑服务器作镜像部署(后续出文),如果需要正儿八经搭建一个项目,还要购买域名,进行解析(后续出文),如果要做小程序还得ssl证书装起来,证书可在阿里云上免费使用,ssl部署可参考我之前文章
http协议的网站装ssl升级成https 和
(二)http协议的网站装ssl升级成https
3.配置流程
1.创建文件夹并初始化egg项目(手动或者命令行创建文件)
$ mkdir egg-example && cd egg-example
$ npm init egg --type=simple
$ npm i
2.项目配置及启动项目(是不是类似于vue的文件配置)
A.看config->config.default.js
B.开始启动项目:
npm run dev
4.开始第一个接口
案例:根据手机号查询用户信息。前提:用Navicat Premium 15创建并连接一个数据库->然后创建一个user表,并设计字段:id和mobile,然后手动添加一条
A.controller控制层(参数是手机号,返回是用户信息)首先建立一个user.js
定义一个类class:
输出:
具体内容:
async getUserByMobile() {
const ctx = this.ctx;
const mobile = ctx.query.mobile||ctx.request.body.mobile;
const user = await ctx.service.user.getUserByMobile(mobile);
ctx.body = {
code: 0,
msg: '查询成功',
data: user
}
};
B.service服务层 =>首先建立一个user.js
定义一个class类:
最后输出:
内容如下:
/**
* 服务层 用户
* 查找数据库两种方式
* .get("user",{id:1})
* .select("user",{
where:{id:1}
})
* 增加一条数据
* .insert("user",{username:"lisi",password:"1234"})
* 修改数据两种方式
* 根据主键id修改username update('user',{ id:2, username:'赵四' });
* 通过sql语句来修改数据.query('update user set username = ? where id = ?',["王五",2]);
* 删除数据.delete('user',{ id:3 });
* 执行sql语句this.app.mysql.query(sql,values);
* SELECT 查询(操作类型:SELECT查询,UPDATE更新,DELETE删除) FROM 来自后边跟数据表名 WHERE 后跟条件
* 操作服务器的用户表
*/
async getUserByMobile(mobile) {
const user=await this.app.mysql.get('user',{mobile:mobile})
return user;
};
C.router.js=>输出路由(get请求就用router.get,新增修改删除就用post)
D.好了,本地试试访问:127.0.0.1:7001/user/getUserByMobile?mobile=15648554554
5.部署线上服务器
A.服务器上安装node(https://blog.csdn.net/qq_42808052/article/details/109034096)
B.服务器上安装数据库(https://blog.csdn.net/weixin_44544678/article/details/108282258)
C.修改config=》config.default.js服务器连接地址及修改127.0.0.1为0.0.0.0参考刚开始的配置图。
D.部署把代码拖上来然后用Xshell进入到配置下进行重启(httpd -k restart)或者关闭再启动(httpd -k stop关闭 然后httpd -k start启动)
cd /usr/bin
httpd -k restart