一、fs模块
1.作用:与文件系统交互 -- 对文件的增、删、改、查
2.方法:fs.readFile(path[,options],(err,data)=>{}):异步读取文件内容 -- path是绝对路径,通过path模块处理
二、path模块
1.作用:用于处理文件和目录的路径
2.方法:path.join([...paths]):按照特定平台使用分隔符将给定的路径规范化生成一个新的路径
path.basename(path[,ext]):获取path的最后一部分,如果ext不省略,则会被忽略
path.dirname(path):获取path的目录部分
3.__dirname:返回当前文件所在的目录 -- 全局变量
4.__filename:返回当前文件所在的具体路径(包含文件名) -- 全局变量
三、其他
1.MIME Type:媒体类型(内容类型),与文件后缀对应,用来给媒体资源设置正确的类型以此正常显示资源
四、获取请求数据
1.get请求:数据由URL提交,当通过URL API处理后,请求字符串存储search(新版,旧版)中,请求数据对象在searchParams(新版的URL API)中
1.旧版
const qstr = require("queryString");//查询字符串处理模块
let data = qstr.parse(url.search); //返回键值对集合
2.新版
2.1:如果使用新版URL API,那么直接就是url.searchParams
2.2:如果是旧版URL API
let data = new URLSearchParams(url.search);
data.append(k,v):追加键值对,同名的保留
data.set(k,v):设置键值,同名的覆盖
2.post请求:request中没有专门用于处理post请求的属性,只能通过监听事件获取请求数据
let data = "";
request.on("data",chunk=>data+=chunk;) //数据传递中
request.on("end",()=>data); //数据传输完毕:x=1&y=2
五、数据库
1.作用:存储数据
2.分类:Mysql,Oracle,SQL Server....
3.使用:安装对应的数据库-》开启服务
4.工具:Navicat
1.创建连接:主机名:数据库服务器所在的主机名或ip -- localhost
端口号:3306
用户名:登录数据库时的账号 -- root
密码:登录数据库时的密码 -- root
2.创建数据库:数据库名,编码
3.创建表:
1.字段名:数据存储的名字
2.类型:字符串:char:最大长度为255,定长,指定长度
varchar:最大长度为255,变长,指定长度
text:大文本
3.主键:数据的唯一标识,递增整数,不能重复
六、SQL
1.结构化查询语言,用来对数据库进行CURD -- 跨平台、跨语言
2.课程内容:对表内容的CURD
新增(INSERT)
INSERT INTO `table` (`name1`,`name2`...) VALUES (val1,val2...) -- 给指定的字段添加指定的值(字段先后顺序无关)
INSERT INTO `table` VALUES(val1,val2...) -- 添加一条数据(省略了字段名,值按照字段在表中的顺序一一对应,包括所有字段)
注意:字段和值按顺序一一对应 -- 个数,类型,顺序
字符串类型的值必须加引号(单双引号)
删除(DELETe)
DELETE FROM `table` -- 删除所有表的数据 DELETe FROM `table` WHERe condition -- 按条件删除满足数据
修改(UPDATe)
UPDATE `table` SET `name`="val",`name2`="val2" -- 将表中所有的数据name设置为val1,name2设置为val2 UPDATE `table` SET `name`="val",`name2`="val2" WHERe condition -- 按条件修改数据
查询(SELECT)
SELECT * FROM `table` -- 查询table的所有字段所有数据
SELECt * FROM `table` WHERe condition -- 按条件查询数据
SELECt * FROM `table` WHERe `name`="val" -- 查找所有name为val的数据
SELECt * FROM `table` WHERe `name` LIKE "%val%" -- 查找所有name中包含val的数据(模糊查询)
SELECt * FROM `table` WHERe condition AND condition2 -- 查找所有满足condition和condition2的数据
SELECt * FROM `table` WHERe condition OR condition2 -- 查找所有满足condition或condition2的数据
SELECt * FROM `table` WHERe `name` IN ("val1","val2"...) -- 查找所有name为val1或val2的数据
SELECt * FROM `table` ORDER BY `name` ASC/DESC[,`name` ASC/DESC] -- 数据按name升序(ASC,默认)/降序排列后,再按照name2升序/降序排列
SELECt * FROM `table` LIMIT [start=0,]len; -- 查询满足条件从start开始,len条数据
SELECt `name`,`name2` AS `names` FROM `table` -- 查询特定字段+字段别名
七、NPM
1.Node.js包管理器,随着Node.js一起安装
2.包:第三方模块,别人开发好某些功能,可以直接下载使用
3.常用NPM命令:
$ npm -v:查看当前npm的版本
$ npm install package -- 将包下载到当前目录并写入dependencies
$ npm install package --save/-S 将包下载到当前目录并写入dependencies
$ npm install package --save-dev/-D 将包下载到当前目录并写入devDependencies
$ npm install package -g -- 将包作为全局包下载(全局工具)
$ npm root -g -- 查看全局安装包路径
$ npm init -- 项目初始化(生成package.json package-lock.json)
$ npm uninstall package -- 卸载包
$ npm config ls -l -- 查看npm的配置
$ npm get registry -- 查看npm源
$ npm set registry https://registry.npm.taobao.org
$ npm install -- 按照package.json安装包
package.json:项目配置文件
{
"main":"index.js", //入口文件
"dependencies":{} //生产环境依赖
"devDependencies":{} //开发环境依赖
}
4.官网:https://www.npmjs.com/package/
5.其他工具:yarn,pnpm



