Nodejs

Nodejs中的常用模块

http模块
//用require引入http模块
var http=require("http")
//创建一个服务器  req是请求,res是响应
 var app=http.createServer((req,res)=>{}) 
 //监听端口
app.listen(8081)

用户浏览器地址栏输入:http://服务器电脑的ip:8081/hqyj 每当用户访问一次,后端的那个回调函数就会执行一次

Node.js环境中有两个全局变量
    1. __dirname,表示当前js文件所在的目录路径(绝对路径)
    2.  __filename,表示js文件的路径(绝对路径)
    3. 两个变量保存的都是字符串
fs模块
//用require引入fs模块
var fs=require("fs")
//调用fs模块中的readFile方法读取文件
fs.readFile("文件路径",(err,data)=>{}) //err是报错,data是数据包

  • 读取文件 buffer 属于二进制编码
 fs.readFile(__dirname+"/src/movie.mp4",(err,data)=>{
    console.log("movie",data)
 })
 fs.readFile(__dirname+"/src/b2.txt",(err,data)=>{
     console.log("b2",data)
 })
  • 写入文件信息 writeFile
fs.writeFile(__dirname+"/src/b2.txt","hello666",function(err){
          console.log(err);//已写b2文件,但会清除掉原文件里面的编码
})
//创建并写入文件信息
fs.writeFile(__dirname+"/src/a.txt","你好",function(err){
    console.log(err);//创建的a.txt文件,并在文件里面添加了文字“你好”
})
//文件不存在就会报错
fs.writeFile(__dirname+"/src1/a.txt","你好",function(err){
    console.log(err); //src1的文件夹不存在就会报错
})

  • 删除文件 unlink
//通过路径删除自己想删的文件
fs.unlink(__dirname+"/src/a.txt",(err)=>{
    console.log(err);
})
fs.unlink(__dirname+"/src/18.jpg",(err)=>{
    console.log(err);
})
  • 拼接内容到文件 appendFile
fs.appendFile(__dirname+"/src/b2.txt","哈哈哈哈",(err)=>{
    console.log(err);//在b2.txt文件后面添加了"哈哈哈哈"
})
  • 创建目录 mkdir
//试下创建test文件
fs.mkdir(__dirname + '/test', function (err) {
  if(err)  throw err
  console.log('创建目录成功')
})
  • 拷贝 copyFile 这个在前端方向比较重要
var oldpath=__dirname+"/src/a/box/b2.txt"
var newpath=__dirname+"/src/a/b2.txt"
//拷贝到另外一样文件中
fs.copyFile(oldpath,newpath,(err)=>{})
//在拷贝到另外的文件中时删掉原来的文件
fs.copyFile(oldpath,newpath,(err)=>{
    fs.unlink(oldpath,(err)=>{})
})
  • 读取目录 readdir
fs.readdir(__dirname,(err,data)=>{
    console.log(err,data);
})
  • fs模块属性有很多,想了解更多搜Node.js官方查询fs模块
url模块 把url网址解析为一个对象
//声明一个变量然后用require引入url模块
var url=require("url")
//声明变量赋值为使用url的parse方法获得的pathname
 var path=url.parse(req.url).pathname
//读取文件是将文件路径用全局变量和声明的保存了网址相对路径的变量来代替
fs.readFile(__dirname + path, (err, data) => {})
mime模块 获取文件的数据类型
//声明一个变量然后用require引入mime模块
var mime=require("mime")
//声明变量赋值为使用mime中getType方法获取的网址的数据类型获取
let type=mime.getType(path)
querystring模块

把querystring参数解析为一个对象

//声明一个变量然后用require引入querystring模块
 var querystring=require("querystring")
 //声明变量赋值为用户输入的一些querystring参数解析的对象
  let queryobj=querystring.parse(urlobj.query)

网页加载的流程

1.1浏览器的地址栏 输入的网址 敲回车 会请求一次服务器
服务器会返回一个数据包 就是网页代码(html格式的文本文档)

1.2浏览器开始去运行解析html文本(此时还没有外部 图片,js,css,字体库资源)
1.2.1解析时 遇到了 img标签的src属性 会异步的 开始再次网络请求服务器 ,服务器返回数据包(图片编码) 然后渲染出来
1.2.2解析时 遇到了link-href 会异步的 开始再次网络请求服务器 ,服务器返回数据包(css编码) 然后加载
1.2.3解析时 xxxx-url会异步的 开始再次网络请求服务器 ,服务器返回数据包(对应编码) 然后加载
1.2.4解析时script-src会异步的 开始再次网络请求服务器 ,服务器返回数据包(js编码) 然后用js引擎去执行编码

1.3所有资源加载完毕了 才会触发window.onload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值