1.引用(require)
被引用的文件
// 声明一个函数
let add = (a, b) => a + b;
let sub = (a, b) => a - b;
//如果有其他js文件想用这个add函数
//首先将add导出
//exports.()里面的名字自己起 等号后面是要调用的函数名
//exports.add = add;
//引用一个函数
module.exports = add;
//引用多个函数
module.exports = {add,sub};
//module.exports和exports用法一样
//但是当module.exports和exports同时指向不同的对象时 以module.export为准
引用的文件
// 想用别的js里的功能 首先调用
// 等号前面是接收的变量 后面的路径填写写函数的路径
const {add,sub}= require("./01.exports.js");
console.log(add(4, 2)); //6
console.log(sub(4, 2)); //2
2.读写文件
1.通过模块的名字fs对模块进行引用
2.通过模块内部的readFile读取文件内容
3.要在readfile后加入编码 否则会读取出错
// 1.通过模块的名字fs对模块进行引用
const fs = require("fs");
//2.通过模块内部的readFile读取文件内容
fs.readFile("./03.modul.exports.js", "utf8", (err, doc) => {
//如果文件读取出错err是一个对象包含错误信息
//如果文件读取正确err是 null
// doc是文件读取的结果
console.log(err);
console.log(doc);
});
写入文件
!!!切记写入文件时会清空里面的内容再重新写入
// 1.通过模块的名字fs对模块进行引用
const fs = require("fs");
//2.通过模块内部的writeFile读取文件内容 writeFile会先清空再写入
fs.writeFile("./000.text", "你好a", (err) => {
if (err != null) {
console.log(err);
return;
} else {
console.log("写入成功");
}
});
3.路径的拼接
1.引入path模块(不用下载)
__dirname(前面是两个下划线) 代表的是当前目录
path.join里面可以拼接字符串 但是路径必须带引号 用逗号分隔
const path = require("path");
const fs = require("fs");
//将路径转化为绝对路径
console.log(__dirname);
fs.readFile(path.join(__dirname, "000.text"), "utf8", (err, doc) => {
console.log(err);
console.log(doc);
});
// 拼接路径
const finalPath = path.join("public", "uploads ", "avatar");
console.log(finalPath);