1、模块成员导出
方法1:
function add(a, b) {
console.log(a + b);
}
exports.add = add
方法2:
module.exports.w = w
exports是module.exports的别名(地址引用关系),导出对象最终以module.exports为准
2、模块成员的导入
3、系统模板 fs 文件系统
readFile
通过模块内部的readFile读取文件内容
//第一个参数是路径/文件名
//第二个参数是读取的编码格式
//第三个参数是回调函数,也就是文件读取结束之后要进行的操作,因为文件读取并不是一执行就有返回值,所以我们不能用它的返回值,
//来接受函数的结果,而是有一段时间才会有结果,所以我们要用回调函数
fs.readFile('./01.helloworld.js', 'utf8', (err, doc) => {
//回调函数中的参数
//第一个:都是错误的对象
// 如果报错的话,那么就显示错误对象,里面存储错误的信息
// 如果没有报错的话,那么这个错误对象里的值就是为null
//第二个:是读取的文件的内容
console.log(err);
console.log(doc);
})
writeFile
let s = require('fs')
//对文件的操作都是耗时的,所以一般不会用API的返回值来获取值,一般都是用回调函数
//文件读取的的API readFile
//文件写入的API writeFile
//第一个参数是路径/文件名
//第二个参数是写入的字符串
//第三个参数是回调函数
s.writeFile('./demo.txt', '即将写入的内容', err => {
if (err != null) {
console.log(err);
console.log('文件写入失败');
return;
}
console.log('文件写入成功');
})
4、系统模板在 path 路径
path.join拼接路径
//系统模块
//fs 文件操作系统
//path 路径
let path = require('path')
//进行路径的拼接
//在window下是 \
//在linux下是 /
let finalpath = path.join('public', 'static', 'main', 'a.css')
console.log(finalpath);//public\static\main\a.css
5、相对路径和绝对路径
//系统模块
//读取文件: fs
//路径拼接: path.join()
//如果想要获取某个文件的路径
//(1)先获取当前文件所在的绝对路径,也就是文件夹的位置
// __dirname
//(2)再用path.join将该文件的绝对路径和该文件拼接起来
//绝对路径:之前写的相对路径都是相对于命令行来写的,一般来说我们都设置为绝对路径
let fs = require('fs')
let path = require('path')
//第一个参数是路径,第二个参数是编码格式,第三个参数是回调函数(err,doc)
//如果有错,那么err就是一个错误对象
//如果没错,那么err就是null
fs.readFile(path.join(__dirname, '01.helloworld.js'), 'utf8', (err, doc) => {
if (err == null) {
console.log('读取成功');
console.log(err);
console.log(doc);
} else {
console.log(err);
}
})