node没有dom和bom
提供一些服务器级别的操作,例如读写文件
浏览器中的JS没有文件操作能力,node有,因为它面向服务端
读文件
fs是file-system 的简写,就是文件系统的意思。在node中如果想要进行文件操作,就必须引入fs这个核心模块。在fs这个核心模块中,就提供了所有文件操作相关的API。例如:fs.readFile就是用来读取文件的
var fs = require('fs') //加载fs核心模块
fs.readFile('要读取的文件路径',function(error,data)//要读取的文件路径,如 ./data/hello.txt 。
{
if(error){
console.log('读取文件失败')
}//如果成功,error为null;
else{
console.log(data.toString())
}
}
)
function() : 一个回调函数,接受两个参数。error 和 data 。
error :如果读取失败,error就是错误对象。如果读取成功,error就是null
data :如果读取失败,data就是null/undefined。如果读取成功,data就是读取到的数据
成功:data 就是读取到的数据 , error就是null
失败:data就是null /undefined ,error就是错误对象
文件中存储的其实都是二进制数据,显示时,二进制转为十六进制。通过toString方法转为我们能认识的字符
console.log(data.toString()) //显示内容
写文件
var fs = require('fs') //加载fs核心模块
fs.writeFile('要读取的文件路径','要写入的内容',function(error){
if(error){
console.log('写入失败')
}
else{
console.log('写入成功')
}
})
写入覆盖。
不知道为什么,运行时在vscode里是正常的。但是在cmd窗口里运行失败。