「这是我参与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.urlreq.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、模块的加载机制
-
优先从缓存中加载模块在第一次加载后会被缓存,多次调用require()不会导致模块的代码被执行多次。nodejs的模块会优先从缓存中加载,从而提高模块的加载效率.
-
内置模块加载优先级最高 -
使用require()加载自定义模块时,必须指定以./或../开头的路径标识符。如果没有,node会把它当作内置模块或第三方模块进行加载。
好啦,今天就是这些内容啦,继续加油!