文章目录
什么是Node.js
- 首先我们要知道什么是运行环境
运行环境是指 代码正常允许所需的必要环境
V8引擎负责解析和执行js代码
内置API是由运行环境提供的特殊接口 , 只能在所属的运行环境中被调用 - 什么是
Node.js
是基于V8引擎的js运行环境
浏览器是js的前端运行环境
Node.js是js的后端运行环境
Node.js中无法调用DOM , BOM等浏览器内置API
fs模块
- 什么是fs模块
是Node.js官方提供的 , 用来操作文件的模块 , 它提供了一系列的方法和属性 , 用来满足用户对文件的操作需求
如果使用fs模块 , 需要先引入const fs = require('fs')
常用fs.readFile()
,fs.writeFile()
方法 - fs.readFile() 语法
fs.readFile(path[, options], callback)
path
: 必选参数 , 表示文件路径 , 字符串格式options
: 可选参数 , 表示用什么编码格式来读取文件 , 默认是utf-8callback
: 必选参数 , 文件读取完成后 , 通过回调函数拿到读取的结果
const fs = require('fs')
fs.readFile('d:/files/read.txt',function(err, result) {
if(err) {
console.log('读取文件失败' + err.message)
}
console.log('读取文件成功' + result)
})
fs.writeFile()
语法
fs.writeFile(file, data[,options], callback)
file
: 必选参数 , 需要指定一个文件路径的字符串 , 文件的存放路径(这个文件是提前有的 , 这个方法并不能新建一个文件路径)data
: 必选参数 , 要写入的内容options
: 可选参数 , 以什么格式写入内容 , 默认是utf-8callback
: 必选参数 , 文件写入完成后的回调函数(不论写入成功或失败 , 都会调用这个函数)
const fs = require('fs')
fs.writeFile('d:/files/write.txt', 'write', function(err) {
if(err) {
console.log(err)
}
console.log('写入文件成功')
})
注意: 新写入的writeFile , 会覆盖之前写入的内容
path模块
- 什么是path
由Node.js官方提供的 , 用来处理路径的模块 , 它提供了一系列的方法和属性 , 用来满足用户对路径的处理需求
同样需要引入const path = require('path')
常用path.join()
,path.basename()
方法 path.join()
语法
path.join()方法 , 可以把多个路径片段拼接为完整的路径字符串 , 主要用来表示文件路径
const path = require('path')
path.join(__dirname,'./files/read.txt') //__dirname表示当前文件所处的目录
const fs = require('fs')
const path = require('path')
fs.readFile(path.join(__dirname,'./files/read.txt'),function(err, result) {
if(err) {
console.log('读取文件失败' + err.message)
}
console.log('读取文件成功' + result)
})
以后凡是涉及到路径拼接的操作 , 都要使用path.join()
方法进行处理 , 不直接使用 + 拼接
path.basename()
语法
path.basename() 从一个文件路径中获取到文件的名称部分
const fpath = 'a/b/c/index.html'
const fname = path.basename(fpath)
console.log(fname)//输出index.html
const withoutname = path.bsdename(fpath, '.html')
console.log(withoutname) //输出 index
path.extname()
获取路径中的扩展名部分
const fpath = 'a/b/c/index.html'
const fname = path.extname(fpath)
console.log(fname)//输出.html