1、Node.js中的模块有哪些?
(1)自定义模块:不需要安装,自定义使用,同级目录下必须加./
位置是自定义的,导入时直接写模块名称
(2)内置模块:node自带的,使用时直接引入即可;位置在node_modules 目录下,导入时直接写模块名称
(3)外置模块:使用npm通过指令按需安装;位置是node_modules目录下,导入时直接写模块名称
2、fs模块(内置模块)
fs模块是文件操作模块,用来实现对文件或目录的增、删、改、查操作;
所有文件都有同步与异步之分,同步操作方法名后要加Sync,比如同步读取文件使用readFileSync()、异步读取文件readFile()
3、文件操作
const fs = require("fs"); // fs模块:操作文件的模块(内置模块)
/* writeFile():用来写入文件,有四个参数
参数1:文件名称,包括文件格式 ,比如1.txt
参数2:需要写入文件中的内容 ,比如"welcome to you"
参数3:可选的,配置对象{flag:"a"或"w"} flag属性: a 追加写入 w 正常写入(默认值)
参数4:写入时的错误信息
注意:当写入的内容已经存在时,执行写入文件操作时会覆盖掉原有的文件
*/
fs.writeFile("1.txt","hello!Welcome to you!",{
flag:"a"},function(err){
if (err) {
return console.log(err);
}
console.log("文件写入成功");
});
// 所有的文价操作都有同步与异步的分别,文件操作中,默认都是异步的
/* readFile():用来异步读取文件,它有两个参数
参数1:文件名,
参数2:执行文件操作的回调函数
回调函数中又有两个参数,第一个是返回的错误信息,第二个是读取到的文件信息
*/
//异步读取文件时,不再按照顺序去执行程序,其他代码先执行着,文件慢慢读取,等到文件读取完再输出
console.log("aaaaa");
fs.readFile("1.txt",(err,data)=>{
if (err) {
return console.log(err);
}
console.log(data.toString()); //将读取到的文件内容转化为字符串