nodejs

121 阅读3分钟

一、什么是node.js

Node.js是JavaScript语言的服务器运行环境。

  • Node.js 就是运行在服务端的 JavaScript。
  • Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
  • Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
  • 特点:单线程和非阻塞I/O事件驱动
  • 安装了nodejs,会自带一些内置的模块

二、http模块使用

1、引入http模块

    
    const http=require("http");
    

2、创建服务器

接下来我们使用http.creatServer()方法创建服务器,并使用listen方法绑定端口 函数通过request,response参数来接收和响应数据

//由于安装了nodejs,nodejs会自带一些内置的模块
//导入http模块
//require() 看做import,再看做script的src
    var http=require("http");
//创建服务
//req响应报文
//res请求报文
    http.createServer(function(req,res){
        res.writeHead(200,{"Content-Type":"application/json;Charset=utf-8"});
        
        res.end("哈哈哈哈你好");
  
    })
 //配置监听的窗口
    http.listen(8082,function(){
        console.log("服务器启动完毕")
    })

三、fs模块的使用

fs.readFile()的语法格式

fs.readFile(path[,options],callback)

参数1:必选参数,字符串,表示文件的路径
参数2:可选参数,表示什么编码格式来去读文件
参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果

    const fs=require('fs')
 
    fs.readFile('./files/1.txt','utf8',function(err,dataStr){
    if(err){
        return console.log('读取文件失败!'+err.message)
    }
    console.log('读取文件成功!'+dataStr)
})

fs.writeFile()的语法格式

fs.writeFile(file,data[,options],callback)

  • 参数1:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径
  • 参数2:必选参数,表示要写入的内容
  • 参数3:可选参数,表示已什么格式写入文件内容,默认值是utf8
  • 参数4:必选参数,文件写入完成后的回调函数
    // 导入fs文件系统模块
    const fs=require('fs')
    // 调用fs.writeFile()方法,写入文件的内容
    fs.writeFile('./files/2.txt','abcd',function(err){
    // 如果文件写入成功,则err的值等于null
    // 如果文件写入失败,则err的值等于一个错误对象
    console.log(err)
})

注意: fs.writeFile()方法只能用来创建文件,不用用来创建路径

重复调用fs.writeFile()写入同一个文件,新写入的内容会覆盖之前的旧内容

fs模块路径动态拼接的问题

在使用fs模块操作文件时,如果提供的操作路径是以./或../开头的相对路径时,很容易出现路径动态拼接错误的问题。原因:代码在运行的时候,会以执行node命令时所出的目录,动态拼接出被操作文件的完整路径。

解决方案:在使用fs模块操作文件时,直接提供完整的路径,不要提供./或../开头的相对路径,从而仿真路径动态拼接的问题。__dirname表示当前文件所处的目录

fs.mkdir() 创建文件夹

    fs.mkdir("./aaa",function(err){
    if(err){
        console.log("创建失败");
        return
    }
    console.log("创建成功");
    })

fs.unlink() 删除文件

    fs.unlink("aaa.txt",function(err){
    if(err){
        console.log("删除失败");
        return
    }
    console.log("删除成功");
    })