Node.js学习总结
Node.js的定义
Node.js 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境
作用
浏览器是js的前端运行环境
Node.js是js的后端的运行环境
Node.js环境与浏览器环境的区别
为什么要学node.js
- 使自己的技术更加全面
- 通过npm工具来安装,卸载第三方包
- 为学习VUE打下基础
Node.js的安装及使用
小黑窗打开方式
常见的命令及按键
复制和粘贴
- 在小黑窗中复制内容:选中内容,再点鼠标右键
- 把粘贴板中的内容复制到小黑窗: 直接在小黑窗点鼠标右键
核心模块-文件读写
读写文件时注意要先引入模块
同步异步概念理解
同步读取文件
语法
- path,读取文件的路径(相对路径或绝对路径)
- options:读取文件的参数配置,通常用一个utf8字符串表示即可
let res = fs.readFileSync(path[, options])
const fs = require('fs')
// fs.readFile()
// Sync 同步的意思,按书写顺序执行
console.log(111)
const data = fs.readFileSync('./1.txt')
console.log('文本', data.toString())
console.log(222)
const data2 = fs.readFileSync('./bg.jpg')
console.log('图片', data2)
console.log(333)
捕捉同步读文件的错误
同步没有返回值 所以只能用try catch方法来捕获
const fs = require('fs')
// fs.readFile()
// Sync 同步的意思,按书写顺序执行
try {
const data = fs.readFileSync('./123.txt')
console.log(data.toString())
} catch (error) {
console.log('读取文件失败了', error.message)
}
// try {
// // 业务代码
// } catch (error) {
// // 如果业务代码出错,catch 结构会捕获到错误
// }
异步读取文件
语法
- path,读取文件的路径(相对路径或绝对路径)
- options:读取文件的参数配置,通常用一个utf8字符串表示即可
- callback:读取完毕的回调函数(err,data)=>{}
fs.readFile(path[, options], callback)
const fs = require('fs')
// err 错误对象,如果读取文件成功 err 的 值为 null
// data 读取到的数据,如果读取失败 data 的值为 undefined
// 🎯总结:err 和 data 都是二选一
// fs.readFile('./1.txt', (err, data) => {
// if (err) {
// console.log('文件读取错误')
// } else {
// console.log('data', data)
// }
// })
fs.readFile('./1.txt', (err, data) => {
// 情况1:如果读取有错误,return 退出函数,同时打印提示用户
if (err) return console.log('文件读取错误')
// 情况2:打印读取到的文件数据
console.log('data', data.toString())
// debugger
})
异步读取文件注意事项
const fs = require('fs')
console.log(111)
fs.readFile('./bg.jpg', (err, data) => {
console.log(222)
})
console.log(333)
fs.readFile('./1.txt', (err, data) => {
console.log(444)
})
console.log(555)
//输出结果 13524
同步写入文件(了解)
语法
fs.writeFileSync(path,data[, options])
- path,被写入文件的路径(相对路径或绝对路径)
- data,要写入的内容,字符串格式
- options:写入文件的参数配置,默认是utf8编码
特点
writeFile方法是覆盖式写入,后面的内容会将前面的内容覆
const fs = require('fs')
// 如果要处理失败的情况,其实同步写起来反而更麻烦(了解即可)
try {
fs.writeFileSync('E:/1.txt', '准备下课')
console.log('写入成功')
} catch (error) {
console.log('写入失败')
}
异步写入文件
语法
- path,被写入文件的路径(相对路径或绝对路径)
- data,要写入的内容,字符串格式
- options:写入文件的参数配置,默认是utf8编码
- callback:写入完毕的回调函数(err)=>{}
fs.writeFile(path,data[, options], callback)
特点
writeFile方法是覆盖式写入,后面的内容会将前面的内容覆盖
const fs = require('fs')
//语法:writeFile('写入地址(如果没有就直接帮你创建一个,除非你电脑没有这个地址比如你电脑没有G盘)',"要写入的文本","错误提示")
//写入的数据会直接覆盖以前的数据
fs.writeFile('./2.txt', '彭瑶66666', (err) => {
if (err) return console.log("写入错误");
console.log("写入成功");
})
异步写入对象式数据
const fs = require('fs')
const arr = [{id:1},{id:2}]
/*
注意事项
fs.writeFile()第二个参数的要求为字符串类型
JSON.stringify()把对象转换成JSON字符串
*/
fs.writeFile('./data.json',JSON.stringify(arr),err=>{
if(err) return console.log("写入错误");
console.log("写入成功");
})