node.js
什么使node.js
node.js是一个开源的,跨平台的javascript运行环境
作用
1.开发服务器应用
2.开发工具类应用
3.开发桌面端应用
进程 和 线程
进程是程序的一次执行过程
线程是一个进程中执行的一个执行流 ,一个线程是属于某个进程的
Buffer
//BUffer 【缓冲区】,是一个类似与Array的对象,用于表示固定长度的字节序列
//三种创建方式
//1.alloc 会对旧二进制 每段都清零
let buf = Buffer.alloc(10)
console.log(buf)
//2.allocUnsafe 会有旧数据 (不安全) 优点:运行快
let buf_2 = Buffer.allocUnsafe(10)
//3.from 可以将字母数字转换成二进制 ASCII 字符码表
let buf_3 = Buffer.from()
fs 模块
可以实现与硬盘的交互
一、文件写入
//导入fs 模块
const fs = require('fs');
fs.writeFile('./afafa.txt', '你爱我啊我爱i你', err => {
if (err) {
console.log('写入失败')
return
}
console.log('写入成功')
})
//fs.writeFilesync 同步写入
//fs.appendFile 追加写入
//fs.writeFile('','','{flag:'a'}') 追加写入
二、文件读取
//引入fs模块
const fs = require('fs')
//异步读取
fs.readFile('./afafa.txt', (err, data) => {
if (err) {
console.log('读取失败')
return
}
console.log(data.toString())
})
//同步读取 let data= fs.readFileSync('./afafa.txt')
流式读取
文件复制
文件重命名和移动 rename
文件删除 unlink 、rm
二、文件夹操作
//1.导入模块
const fs = require('fs')
//2.创建文件夹 mk make 制作 dir directory 文件夹
fs.mkdir('./html', err => {
if (err) {
console.log('创建失败')
return
}
console.log('创建成功')
})
//2-2 递归创建
fs.mkdir('./a/b/c/d', { recursive: true }, err => {
if (err) {
console.log('创建失败')
return
}
console.log('创建成功')
})
//2-3 读取文件夹
fs.readdir('../node', (err, data) => {
if (err) {
console.log('读取失败')
return
}
console.log(data)
})
//2-4 删除文件夹
fs.rmdir('./html', (err) => {
if (err) {
console.log('删除失败')
return
}
console.log('删除成功')
})
//递归删除
fs.rm('./a', { recursive: true }, (err) => {
if (err) {
console.log('删除失败')
return
}
console.log('删除成功')
})
查看资源
路径bug
path模块
https
url:统一资源定位符,简称网址,用于访问服务器里的资源
http模块创建Web服务
node.js模块化
每个文件都是独立的模块
使用特定的语法,导出和导入使用
CommonJS规定
导出:module.exports=() , 导入:require(’模块名或路径‘) nods.js默认支持
ECMAScript规定
导出:export default() , 导入:import 变量名 from ’路径或模块名‘
要使用ECMAScript标准语法,在运行模块所在文件夹新建 package.json文件,并设置{’type‘:‘module’}
包
npm -软件包管理工具
- 初始化清单文件:npm i init -y (得到package.json文件,有则略过此命令)
- 下载软件包: npm i 软件包名称
- 使用软件包
npm 安装所有依赖
npm i
npm 全局软件包 nodemon
软件包区别:
本地软件包:当前项目内使用,封装属性和方法,存在于node_nodules
全局软件包:本机所有项目使用,封装命令和工具,存在于系统设置的位置
nodemon作用:替代node命令,检测代码更改,自动重启程序
使用:
- 安装 npm i nodemon -g (-g 代表安装到全局环境中)
- 运行:nodemon待执行的目标js文件