一 什么是nodeJs
nodeJs是一个后端技术,研究web应用的开发模式,能够开发一些简单的服务器,学会操作数据库等等。官方解释就是:nodeJs是基于谷歌v8引擎的javascript运行环境
nodeJs使用了一个事件驱动,非非阻塞式I/O模型,使其轻量又高效
二 npm是什么
npm是Node的一个小兄弟,叫做node的包管理器,会在安装node的时候一起安装,成为世界上最大的开放源代码的生态系统
三 使用node
首先全局安装node,安装好之后就可以使用node 了,node有很多内置的模块,可以提供给我们使用。下面来介绍node的一些内置模块
四 node的内置模块
1.http模块:下面总结这个模块可以使用的功能
(1)创建服务:
const server = http.createServer((req,res){
console.log(req.url)//此次请求的地址
console.log(req.method)//此次请求的方法
console.log(req.headers)//请求头信息
res.write()//这是输出到前端的,响应的内容
res.end()//这个也是响应的内容,也可以输出内容给前端,但是end之后不能再有write了
})
server.listen(port,host()=>{
console.log("监听中...")
})
2.url模块
(1)解析url地址,从里面提取出很多有用的东西供我们使用
const url = require("url")
url包括协议 域名 端口 pathname querystring hash
协议就是http https 等
域名就是对用的Ip地址,因为域名更好记住,需要用DNS解析一下,把域名解析成IP地址
let obj = url.parse(url地址)====》 url{
protocol:'http:',
host:'localhost:8080'
port:'8080'
hostname:'localhost',
hash:'#abc'
search:'?a=1&b=2',
query:'a=1&b=2'
}
当你给parse传参的时候,除了传url地址之外还要多传两个参数,第一个是true指的是,自动将query解析成为对象,第二个参数传的还是true,,这个意思是提前告诉url说:这个路径没有协议,能不能帮我解析一下,如果不传这个参数,只要保证你的路径有协议就行,如果你的路径没有协议,url是不会帮你解析的。