nodejs

node 的特点
1.非阻塞的i(input)/o(output)模型
通过异步回调将阻塞操作变成非阻塞
一般情况下 io操作都是阻塞的(网络请求(同步和异步) 文件操作 数据库操作…)
2.事件驱动

该特点决定了nodejs 适合于处理高并发

环境配置

安装

  1. 直接安装
  2. 通过nvm安装
 nvm list 查看安装过的所有node版本
 nvm install 版本号  
 nvm uninstall 版本号
 nvm  use  版本号

nvm下载链接

npm

 初始化项目
 npm init  
 npm init --yes

 下载包
 npm install jquery --save-dev 下载开发依赖  开发环境
 npm install swiper --save     下载生产依赖  上线环境
 npm install 包名字 默认生产依赖
 npm install  jquery@2.7.0     指定版本下载
 删除包
 npm uninstall  包名

 查看镜像源
 $ npm config get  registry  http://registry.npmjs.org/
 $ npm config set registry  淘宝镜像的连接地址 https://registry.npm.taobao.org

模块化
规范:AMD CMD COMMONJS(node)

模块3步走(功能代码的抽离)

1. 创建一个模块,并抛出  module.exports=模块
let obj={
    sayHello(name){
        console.log('你好'+name)
    }
}
//抛出模块
module.exports = obj
2. 引入模块 require('路径')
let Name = require('./name')
//导入了一个文件
console.log(Name)
Name.sayHello('小明')
  1. 使用模块
    理解模块:
    把某一些功能点进行抽离
    功能代码的抽离

—举个栗子—
理解模块:
模块理解成函数
把某一个功能理解成函数
使用的时候直接引入 然后直接调用

模块的分类
1、内置模块: node中自己携带的模块,直接使用(不需要安装)
2、第三方模块: 先下载模块再使用(别人写的模块)
3、自定义模块 :开发者自己写的模块
文件操作模块(curd)c创建 u更新 r读取 d删除 == 增删改查

1.文件夹的操作
1.创建文件夹 mkdir
2.删除文件夹 rmdir
3.修改文件夹 rename
4.读取文件夹 readdir
每一个方法都有两种方式
1.同步
2.异步
创建文件夹的方式
1.异步的方式

//引入文件相关的模块
const fs = require('fs')
fs.mkdir('./haha',(err)=>{
    console.log(2)
     console.log(err)
 })
//中间这一步是阻塞的  在node中通过异步的方式  变成了非阻塞
console.log(3) 
打印结果是132

2.同步的方式

//引入文件相关的模块
const fs = require('fs')
let result = fs.mkdirSync('./xixi')
 console.log(result)

删除文件夹  1.异步的方法
//引入文件相关的模块
const fs = require('fs')
  fs.rmdir('./hihi',(err)=>{
    if(err){console.log('删除失败')}
     else{console.log('删除成功')}
 })

2.同步的方法

//引入文件相关的模块
const fs = require('fs')
let result = fs.rmdirSync('./xixi')
 console.log(result)

修改文件夹

//引入文件相关的模块
const fs = require('fs')
fs.rename('.haha','./demo',(err)=>{
    console.log(err)
})

读取文件夹

//引入文件相关的模块
const fs = require('fs')
fs.readdir('./',(err,infos)=>{
    //err 读取状态  infos 读取到的内容
    console.log(err,infos) 
})

2.对文件的操作
1.创建一个文件 writeFile 覆盖写入(可以把之前写的覆盖掉)
2.修改一个文件 appendFile
3.删除一个文件 unlink 全部删除了
4.读取一个文件 readFile
创建一个文件的方式
const fs = require(‘fs’)
创建
fs.writeFile(’./hehe.txt’,‘我好漂亮哦哈哈哈’,(err)=>{
console.log(err)
})//可以把之前写的全部覆盖掉

修改一个文件的方式
const fs = require(‘fs’)
fs.appendFile(’./hehe.txt’,‘韩梅梅和李雷’,(err)=>{
console.log(err)
})//在原有的文字上直接添加
打印结果:我好漂亮哦哈哈哈 韩梅梅和李雷

删除一个文件夹的方式
const fs = require(‘fs’)
fs.unlink(’./hehe.txt’,(err)=>{
console.log(err)
})

读取一个文件夹的方式
共有两种方式
因为有buffer 它是一个二进制的数据流
第一种方式 用toString转
const fs = require(‘fs’)
fs.readFile(’./hehe.txt’,(err,data)=>{
console.log(err)
//打印出来的Buffer 是一个二进制的数据流
console.log(data.toString())

})

第二种方式 写‘utf8’
fs.readFile(’./hehe.txt’,‘utf8’,(err,data)=>{
console.log(err)
//打印出来的Buffer 是一个二进制的数据流
console.log(data)
})

判断读取文件的类型
const fs = require(‘fs’)
fs.stat(’./hehe.txt’,(err,state)=>{
console.log(state)
console.log(state.isFile())//判断是不是一个文件true
console.log(state.isDirectory())//判断是不是一个文件夹false
})

tips:
在文件操作通常写的是绝对路径
console.log(__dirname)//当前文件所在文件夹的绝对路径
const result = path.join(__dirname,‘hehe’,’./a.txt’)
//将所有的参数拼接成一个路径(path.join)
js代码执行过程中 ./相对路径 指的是node命令的执行路径

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值