node躲不掉的!
node 没有dom和bom
在node中,采用ecmascript编码,没有dom和bom操作
console.log(window)
node中读取文件
浏览器中的js是没有文件操作能力
node中的js具有文件操作能力
fs是file-system的缩写
在Node中想要文件操作,必须要引入fs这个核心模块
在fs这个核心模块中,提供了所有文件相关操作的API
fs.readFile(“路径”,“回调参数”)
var fs=require('fs')
fs.readLine('./hello.js',function(error,data){
console.log(data)
})
// error
// 如果读取失败,error就是错误对象
// 如果读取成功,error就是null
// data
// 如果读取成功,data就是数据
// 如果读取失败,error就是错误对象
输出结果
<Buffer 76 61 72 20 66 6f 6f 3d 27 68 65 6c 6c 6f 20 6e 6f 64 65 6a 73 27 0d 0a 20 0d 0a 63 6f 6e 73 6f 6c 65 2e 6c 6f 67 28 66 6f 6f 29 0d 0a 63 6f 6e 73 6f ... >
原因解释:
这是由于文件存储的都是二进制数据0 1
这里看到的不是0和1是因为二进制转化成了十六进制
由于二进制和十六进制我们都不认识
可以采用toString方法转换成我们认识的字符`console.log(data.toString())
读取文件的错误处理
var fs=require('fs')
fs.readFile('./hello22s.js',function(error,data){
if(error){//通过判断error是否为null
console.log('失败了')
}else{
console.log(data.toString())
}
})
node写文件
fs.writeFile(‘文件路径’,‘文件内容’,‘回调函数’)
var fs=require('fs')
fs.writeFile('./hello2.txt','小张冲冲冲',function(error){
console.log('成功!')
})
//error
//
//成功:
// 文件写入成功
// error是null
//失败:
// 文件写入失败
// error就是错误对象