node.js用途:写后台管理程序,类似于php(后端语言目前只接触过php)
需要注意的是nodejs
使用的是ECMA
语法,不可使用DOM
,BOM
前后端交互流程
大后端
用户 - > 地址栏(http[s]请求) -> web服务器(收到) - > nodejs处理请求(返回静态、动态)->请求数据库服务(返回结果)->nodejs(接收)->node渲染页面->浏览器(接收页面,完成最终渲染)
大前端
用户 - > http[s]请求 -> web服务器(收到) - > nodejs处理请求(返回静态、动态)->请求数据库服务(返回结果)->nodejs(接收)->返回给前端(渲染)->浏览器(接收页面,完成最终渲染)
具体操作
引入http模块
let http = require(‘http’)
创建web服务 返回http对象
let app = http.createServer((req,res)=>{
req 请求体 浏览器->服务器
req.url 地址 提取地址栏数据
req.on(‘data’) 提取非地址栏数据 所有的http[s]都会触发end事件
req.on(‘end’)
res 响应 服务器->浏览器
res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});响应头设置
res.write(字符/数据<string><buffer>) 返回数据
res.end() 结束响应 必须
})
监听服务器
app.listen(端口,[地址],[回调])
要注意端口
端口: 1-65535 1024以下系统占用
fs模块
用来磁盘操作,文件操作
读取
fs.readFile(‘文件路径’,[编码方式],(err,data)=>{})
处理错误
try{要排错的代码}catch(e){}
try{
let data = fs.readFileSync("./html/indexa.html")
console.log("data",data)
}catch(e){ //e代表事件对象
//处理错误
console.log("e",e)
}
console.log("成功了!")
更名
fs.renameSync(‘改前’,‘改后’);
fs.renameSync("./html/index.html","./html/about.html")
删除
fs.unlinkSync(‘文件路径’)
fs.unlinkSync("./html/about.html")
删除文件夹,要执行下面这个
fs.rmdir("./html",err=>{
console.log("html目录以及被删除了哦....") //里边可以不写
})