Nodejs中的模块

205 阅读2分钟

「这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战」。

今天的主角是Nodejs,本文主要讲解了Nodejs中的几个模块,一起去康康吧~

1、 fs模块

①、导入fs模板:

const fs = require("fs")

使用require()加载其他模块时,会执行被加载模块中的代码

②、fs.readFile()方法,用来读取指定文件中的内容

  • 语法:

    fs.readFile(path[,options],callback(err,datastr){})
    

path: 文件路径

ptions:选,表示以什么编码格式来读取文件

allback:取完后,通过回调函数拿到读取的结果

err:读取失败的结果

datastr:读取成功的结果

const fs = require('fs');
fs.readFile('./day1/content.txt','utf8',function(err, dataStr){
    console.log(err); //读取成功,errw
    console.log("------------")
    console.log(dataStr);
})

③、fs.writeFile()方法,用来向指定的文件中写入内容

  • 语法:

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

    file: 文件存放路径

    data:写入的内容

    options:写入文件内容的格式

    callback:回调函数,err参数,文件写入失败,err为空

    const fs = require('fs');
    fs.writeFile('./day1/content.txt',
    'new content','utf8',function(err){
        if(err){
            return alert("写入文件失败")
        }
        return("写入文件成功")
    })
    

    writeFile()写入文件的内容会覆盖以前文件的内容

    __dirname表示当前文件所处的目录 

2、 path路径模块

作用:用来处理路径的模块

  • path.join()方法,用来将多个路径片段拼接成一个完整的路径字符串

    • path.join(__dirname, './day1/content.txt')
  • path.basename()方法,用来从路径字符串中,将文件名解析出来

    • path.basename(path[,etc]),返回表示路径中的最后一部分,etc后缀名,加了 就相当于把后缀名etc删掉
  • path.extname(path),获取路径中的拓展名部分

3、http模块

作用:用来创建web服务器模块。

  • http.createServer()方法,创建一个web服务器实例
  • req.url
  • req.method
  • res.setHeader('Content-Type', 'text/html; charset=utf-8')//防止中文显示乱码问题
  • res.end(str) //把包含中文的内容,响应给服务端
const http = require("http")
//创建web服务器实例
const server = http.createServer()
server.on('request',function(req, res){
    console.log("Someone visit our server")
})
server.listen(80, function(){
    console.log("server running at http://127.0.0.1:8080")
})

4、模块的加载机制

  1. 优先从缓存中加载

    模块在第一次加载后会被缓存,多次调用require()不会导致模块的代码被执行多次。nodejs的模块会优先从缓存中加载,从而提高模块的加载效率.

  2. 内置模块加载优先级最高

  3. 使用require()加载自定义模块时,必须指定以./或../开头的路径标识符。如果没有,node会把它当作内置模块或第三方模块进行加载。

好啦,今天就是这些内容啦,继续加油!