4.21-22 express开发属于个人的图书接口+讯飞+阿里云部署

一、最简单的express API编写
1、 npm init 初始化一个node工程
2、安装 npm i express -S,一个轻量级的web开发框架。
3、书写代码的格式,默认是commonJs的格式,require,也可以使用babelNode去支持es6语法格式,import。
4、编写最简单的express API
在这里插入图片描述
5、通过node app.js 或者webStorm内置方法启动。
在这里插入图片描述

二、正式使用express开发API
1、开发API主要思路通过获取数据库的数据拼接成json格式的文件返回给客户端
2、安装npm i mysql -S 库
3、编写解获/book/list的路径的api
在这里插入图片描述
在这里插入图片描述
4、随机生成不重复的id
老师的方法:
通过将数组内数字,采取末位覆盖的方式。进行生成
在这里插入图片描述
我的方法(比较易想)
在这里插入图片描述
在这里插入图片描述
但是,一切听从老师安排。故删掉自己的代码。

三、在书城首页接口开发完毕的时候,又引发了跨域的问题
1、什么是跨域?
答:当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同,即为跨域
在这里插入图片描述
在服务端(后台3000端口),安装npm i cors -S
在app.js 引入cors库模块并使用
在这里插入图片描述
2、数组的push与对象的obj[attribute]。(牢记)
数组的push是直接增加索引长度。并且push只支持数组
对象的[attribute]是给对象直接增加新的属性。
当然,增加的内容是随意的(数组、对象、字符串等等等)

3、科大讯飞,注册,写接口,
npm js-base64 ,npm js-md5 ,转码X-param
npm qs 对字符串进行处理,让它变成,post请求可以识别的键值对形式。即序列化字符串。
npm http 用于作请求
以及nodejs内置库fs写入mp3文件

4、阿里云port 22 timed out (99.999%是安全组没开启,0.001%是wifi作用使port 22被墙)
在这里插入图片描述
5、每次访问服务端,需要ssh root@ip有点麻烦,那么我们可以这样做。
一、ssh-copy-id 公钥存储,免密登录
1、ssh-keygen -t rsa,生成 ssh密钥(公钥)
2、ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip,将公钥填充到远程服务器中。
在这里插入图片描述
注:ssh-copy-id - 会将你的公共密钥填充到一个远程机器上的authorized_keys文件中。从而实现免密登录
在这里插入图片描述
二、创建ip别名登录(修改hosts)
1、修改hosts文件
在这里插入图片描述
加入服务端ip地址,设置别名
在这里插入图片描述
Sam老师,你为什么这么秀???
在这里插入图片描述
1、如何防止ssh服务被断开?
打开服务端配置文件 vim /etc/ssh/sshd_config
修改ClientAliveInterval 30,表示每30秒自动和客户端进行一次连接。
在这里插入图片描述
使新配置生效需要restart sshd 服务在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40196738/article/details/89449591
22