系统模块

时间:2022-07-28
本文章向大家介绍系统模块,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.什么是系统模块

Node运行环境提供的API.因为这些API都是以模块化的方式进行开发的,所以我们又称Node运行环境提供的API为系统模块

2.系统模块fs文件操作

f: file文件,s: system系统,文件操作系统。 const fs = require ('fs') ;

读取文件内容

fs. reaFile('文件路径/文件名称'[, '文件编码'],callback) ;

// 1.通过模块名字对模块进行引用
const fs = require('fs');
// 2.通过模块内部的readFile读取模块内容
// fs. reaFile('文件路径/文件名称'[, '文件编码'],callback) ;
fs.readFile('./01-hello.js', 'utf-8', (err, doc) => {
    // err是一个对象,包含错误信息 如果文件读取出错,返回err
    // 如果文件读取正确,err 是 null
    // doc是文件读取的结果
    console.log(err);
    console.log(doc);
})

注意:

  1. 读取文件是硬盘的操作,需要耗时,我们需要回调函数的方式获取文件读取的结果
  2. 这个回调函数包含两个参数 err,doc
  3. err是一个对象,包含错误信息 如果文件读取出错,返回err,错误信息
  4. 如果文件读取正确,err 是 null,返回doc
  5. doc是文件读取的结果

写入文件内容

fs.writeFile('文件路径文件名称",'数据',callback);

const content ='<h3>正在使用fs.writeFile写入文件内容</h3>';
fs.writeFile('../index.html', content, err => (
    if (err != mul1) {
        console.log (err);
        retun;
    }       
}
console.log('文件写入成功');
}) ;

如果写入路径文件不存在,系统会自动在该路径开辟一个文件

3.系统模块path路径操作

为什么要进行路径拼接

  • 不同操作系统的路径分隔符不统一
  • /public/uploads/avatar
  • Windows上是 /
  • Linux上是/

4.路径拼接语法

path.join('路径','路径',...)

//导入path模块
const path = require('path') ;
//路径拼接
let finialPath = path.join('itcast', 'a', 'b','c.css') ;
//输出结果itcastabc.css
console.log (finialPath) ;

5.相对路径VS绝对路径

  • 大多数情况下使用绝对路径,因为相对路径有时候相对的是命令行工具的当前工作目录
  • 在读取文件或者设置文件路径时都会选择绝对路径
  • 使用__dirname获取当前文件所在的绝对路径
  • requrie方法中的路径可以使用相对路径
const fs = require('fs');
const path = require('path');
console.log(path.join(__dirname));
console.log(path.join(__dirname, '01-hello.js'));
// __dirname获取当前文件所在的绝对路径
fs.readFile(path.join(__dirname, '01-hello.js'), 'utf-8',(err, doc) => {
    console.log(err);
    console.log(doc);
})