node
url
统一资源定位符
- http://www.baidu.com
http://www.baidu.com:80
http://www.baidu.com:80/admin/login
http://127.0.0.1:80/admin/login
以上四条都是url
const url = require('url');
let string='https://user:pass@sub.example.com:8080/p/a/t/h?query=string#hash'
const myURL =url.parse(string) //解析字符串,生成一个对象
console.log(myURL)
//解析结果如下
let obj = {
protocol: 'https:',
slashes: true,
auth: 'user:pass',
host: 'sub.example.com:8080',
port: '8080',
hostname: 'sub.example.com',
hash: '#hash',
search: '?query=string',
query: 'query=string',
pathname: '/p/a/t/h',
path: '/p/a/t/h?query=string',
href: 'https://user:pass@sub.example.com:8080/p/a/t/h?query=string#hash'
}
console.log(url.format(obj)) //格式化对象
//输出'https://user:pass@sub.example.com:8080/p/a/t/h?query=string#hash'
ex:
url.format({
protocol: 'https',
hostname: 'example.com',
pathname: '/some/path',
query: {
page: 1,
format: 'json'
}
});
// => 'https://example.com/some/path?page=1&format=json'
querystring
- parse()
- stringify()
- escape()
- unescape()
path
- __dirname 当前文件所在的路径 绝对路径
- path.join() 路径拼接
api
前后端实现交互的工具
api接口的4要素
- url
- method get post()
- params 参数 数据类型
- response 返回数据
前端:调用接口 传递参数 ↓
后端: 1.接受数据 2.处理数据 3. 返回数据↓
前端:根据返回数据做响应处理
express koa
http://www.expressjs.com.cn/
基本使用
const express = require('express')
const app = express()
app.get('/login',()=>{
})
app.listen(3000,()=>{
})
参数传递
- get req.query
- post req.body json x-www-form-urlencode
express 本身不能解析 post数据 需要body-parser插件
- body-parser插件 两种方法
a.bodyParser.urlencoded({ extended: false })//解析表单格式
b.bodyParser.json()//解析json 数据格式
静态资源路径(静态服务器)www
app.use(’/’,express.static(文件夹的绝对路径))
路由
使用类似于app的创建
api按照功能进行拆分
const router = express.Router()
router.get(’/login’,(req,res)=>{})
module.exports= router
引入路由
const xxxRouter = require(‘path’)
app.use(’/admin’,xxxRouter)
名字解析
前台 使用者 home
后台 xxx管理后台 admin
前端
后端