读取文件、判断是否读取成功
写入文件、判断是否写入成功
先写入后读取
整理一个成绩数据,读取、整理、写入新文件
回车换行:\r\n
path.join
path.basename(path[.ext])
path.extname(path)
时钟案例
regStyle=/[\s\S]</style>/ regScript=/[\s\S]</script>/ regScript.exec() str.replace(regStyle, '...')
创建基本的web服务器
const server = http.createServer()
server.on('eventName', (req,res) => { res.setHeader('Content-Type', 'text/html;charset=utf-8') res.end(str) })
server.listen(80, () => { .... })
实现clock时钟的web服务器
127.0.0.1 12.0.0.1/index.html
自定义时间格式化函数
moment包
npm init -y
npm i nrm -g nrm ls nrm use taobao
i5ting_toc
自定义包
htmlEscape
<: <
>: >
": "
&: &
html.replace(/<|>|"|&/g, match => { switch(match) { case '>': return '<' } })
npm login
发布:包的根目录:npm publish
删除: npm unpublish 包名 --force
express
cnpm i express@4.17.1
postman
req.query
req.params
app.use('/public',express.static(public))
npm i nodemon -g
模块化路由 let router = express.Router() app.use('/api',router)
中间件函数---全局中间件---添加自定义属性|方法---多个全局中间件---创建局部生效的中间件---两种方式(逗号隔开|[])使用多个局部中间件
中间件分类
- 应用级别中间件
- 路由级别中间件
- 错误级别中间件--注册在所有路由之后
路由里面人为制造错误
throw new Error('')app.use((err, req, res, next) => { console.log(err.message) res.send('Error:'+ err.message) }) - express内置中间件 express.json()---req.body //请求体数据 express.urlencoded({ extended: false })
- 第三方中间件
npm i body-parse -Dapp.use(parse.urlendcoded({ extended: false }))
自定义中间件
// 定义一个全局中间件
app.use((req, res, next) => {
// 监听客户端请求事件req.data
req.on('data', chunk =>{
str += chunk
})
// 监听req的end事件
req.on('end')
// 字符串请求体数据解析成对象格式
// querystring.parse()
// 解析处理的对象挂载为req.body
})
进行自定义中间件模块化拆分 定义一个get接口 定义一个post接口
跨域
定义一个html测试跨域问题
npm i cors
路由之前配置cors中间件
app.use(cors())
简单请求 预检请求---火狐 jsonp接口---得到函数名称---定义发送客户端的数据---拼接出一个函数调用字符串--响应给客户端
mySQL
安装---使用workbench 创建数据库--点击添加数据库---填写数据库名字---点击apply 创建表----写入数据
SQL语法
-- select * from users 点击小闪电
select username,password from users
insert into users(username,password) values('tony', '654321')
update users set password='123456' where id=4
update users set password='123456', status=1 where id=4
delete from users where id=4
使用where子句查询
and/or
order by
select * from users order by status
select * from users order by id desc
select * from users order by status desc, username asc
select count(*) from users where status=0
select count(*) as total from users where status=0
select username as uname, password as pd from users
mysql
npm i mysql
// 查询
const db = mysql.createPool()
db.query('', (err, results) => {
})
// 插入
const sqlStr = insert into users(username, password) values(?, ?)
db.query(sqlStr,[user.username, user.password], (err, results) => {
if(result.affectedRows === 1){}
})
const sqlStr = insert into users set ?
db.query(sqlStr,user, (err, results) => {
if(result.affectedRows === 1){}
})
// 跟新
const sqlStr = update users set password=?, status=? where id=?
db.query(sqlStr,[user.username, user.status, user.id], (err, results) => {
if(result.affectedRows === 1){}
})
// 跟新
const sqlStr = update users set ? where id=?
db.query(sqlStr,[user, user.id], (err, results) => {
if(result.affectedRows === 1){}
})
// 删除
const sqlStr = delete from users where id=?
db.query(sqlStr,7, (err, results) => {
if(result.affectedRows === 1){}
})
// 标记删除
const sqlStr = update users set status=? where id=?
db.query(sqlStr,[1,5], (err, results) => {
if(result.affectedRows === 1){}
})
express-session
npm i express-session
app.use(session({
}))
req.session.user = req.body
req.session.islogin = true
api/logout
req.session.destroy()
jwt
npm i jsonwebtoken express-jwt
koa
const Koa = require('Koa')
const app = new Koa()
app.use(ctx => {
ctx.body = 'Hello Koa'
})
app.listen(3000, () => {
console.log('server running on http://127.0.0.1:3000')
})