https://www.jqhtml.com/7258.html
新的后台语言,性能快,单线程异步执行(模拟多线程),事件处理机制
运行:没有浏览器,在node环境中运行,node只有js文件,直接执行
Node 是一个服务器端 JavaScript 解释器,Node 本身运行Google V8 JavaScript引擎,处理高并发和异步I/O
npm就是模块的管理工具,用它安装各种 Node 的软件包(如express,redis等)并发布自己为Node写的软件包 。
node操作:
node支持除了es6的除了模块化的语法(import,export)
引入模块方法:require()
服务器模块:http
文件模块:fs
解析字符串:queryString
解析url:url
let http=require("http") //http一个对象,包含了服务器模块的所有功能
let httpobj=http.creatServer(()=>{consoleo.log"成功"} );//返回服务对象,给开启一个监听,监听一个端口号,指定一个:
httpobj.listen(8181,"localhost",()=>{console.log"开成功"}) //开启成功后执行回调函数
在终端//node server1(文件名)开启服务器成功
服务器请求关闭:
读取文件:let fs=require("fs"); fs.readFile(req.url,(err,data)=>{..异步...}) //请求结束在回调函数里,异步。fs本身也是一个对象,一个方法读取文件:readfile
err是null是请求成功,没有请求成功给前端404res.write "404",成功则返回数据给前端
"./"+req.url 当前目录下的文件
res.end();结束了;
html中请求ajax:根据url判断是get还是post
console.log(req.url)是/ajax?user=123&pass=456;
url.parse(req.url,true)//返回一个对象,这这个对象将url解析了,属性pathname就是/ajax,传一个true会自动解析query为对象,urlobj.query.user是用户名
判断:split(“?”)[0]="/ajax",
queryString( name=admin&pass=123)将解析成对象