nodejs

1.什么是node

●Nodejs 是一个基于Chrome V8引擎的JavaScript运行环境
●Node.js使用了一个事件驱动。非阻塞式I/O的模型使其轻量又高效
●Node.js的包管理工具npm.是全球最大的开源库生态系统
●官网http://odejs.cn/
●npm插件官网: https://www.pmjs.com/

  相信很多初学者刚开始都nodejs都很陌生,其实nodejs一个javascript的运行环境,并且它是基于谷歌V8引擎的,node的特点是非阻塞式的I/O模型

2.node一些内置环境

2.1.path 模块的使用
path模块处理的是磁盘路径,也就是绝对路径

path的方法
path.join(__dirname,相对路径)

下面就是一个使用path模块 简单的打印文件路径的方法

const path = require(' path ' )
// console. log(path); //path对象
const pathJoin= path. join(_ dirname,'a' )
console. log(pathJoin); //路径 G: \201 \me\node\node01\a

2.2.url模块的使用

  • url模块
    • 目的: 用于处理url路径 (只能用来处理url)
    • 方法: 2个
    • url.parse() url string => object 获取URL字符串,对其进行解析,然后返回URL对象。
    • url.format() url object => string 取URL对象,对其进行解析,然后返回URL字符串。

下面就是一个使用url模块 简单的打印url路径的方法

const url” require( 'url')
/ console.log(url); //url对象
const urlParse url .parse('我喜欢你') //字 符串变对象
// console. log(urlParse); //一个ur1对象 里面其中一项是path: '我喜欢你',
const urlFormat url. format (urlParse)
console. log(urlFormat); //我喜欢你



2.3.fs 文件操作
文件的操作可分为增删改查 ,以下是我为大家详细写的4种方式

	创建文件夹mkdir
	删除文件夹rmdir
	修改文件夹rename
	读取文件夹readdir 

2.3.1增加文件

 writeFile(1:路径和文件名,参2:文件内容,参3:报错信息)
const pathUrl = path.join(__dirname, './utils/test.txt')
const date = ('呵呵哒')
const mistake = (err) => {
    if (err) {
        fs.writeFile(path.join(__dirname, '/log/err.log'), err.errno, () => {
            if (err);
            console.log(err);
        })
    } //err.errno  是err里面的属性 errno: -4058,1
}
fs.writeFile(pathUrl, date, mistake)

2.3.2删除文件

 unlink(1:路径,参2:错误的回调)
const pathUrl = path.join(__dirname, './utils/test.txt')
fs.unlink(pathUrl,err=>{
    if(err);
    console.log(err);
    
})  

2.3.3改变文件

 readFile(参数1:路径,参数2:'utf8',3:错误的回调)
 
const pathUrl = path.join(__dirname, './utils/test.txt')
fs.readFile(pathUrl,'utf8',(err,doc)=>{
    if(err) throw err
    console.log('doc',doc);  //doc参数 是查询成功里面的参数
    
})
 

2.3.4查询文件

 readFile(参数1:路径,参数2:'utf8',3:错误的回调)
 
const pathUrl = path.join(__dirname, './utils/test.txt')
fs.readFile(pathUrl,'utf8',(err,doc)=>{
    if(err) throw err
    console.log('doc',doc);  //doc参数 是查询成功里面的参数
    
})

2.4.fs 文件夹的操作

文件夹的操作
mkdir 增
rmdir 删
readdir 查
rename 改

2.4.1readdir 查找文件夹
查找文件夹的内容
readdir(参1:路径,参2:回调(参2.1,err,参2.2:file:查找到的内容)

const fs = require( 'fs' )
const path - require( path' )
const pathurl = path. join(_ dirname, '/utils' )
//1 console . log(pathurl);
//1查找文件夹的内容
//1 readdir(参1: 路径,参2: 回调(参2.1, err, 参2.2: file: 查找到的内容)
//1 fs . readdir(pathurl,(err,file)->{
//if(err) throw err
//console.log('file",file); //1 file參數返回的是查找的所有内容
//1 }

2.4.2rmidir 删除文件夹
rmdir(参1:路劲,参2:错误的回调) ,但是删除文件要先用查找文件才可以使用

for(Let i=1;i<=10;i++){
fs .unl ink(path. join(_ dirname,. /add/${i}.txt~ ), err => {
if (err) throw err //第一步先删除文件夹里面的10个文件用循环
})
fs . readdir(path. join(_ dirname, ' ./add'), (err, files) => {
if (files.length === 0) {
fs .rmdir(path. join(_ dirname, . ./add'), err = {
if (err) throw err
}
})


2.4.3mkdir 增加文件夹

const fs = require('fs' ) 
const path = require( ”path' )
// !增
// fs. mkdir(path. join(_ dirname,' ./assets'),(err,path) => {
//if(err)throwerr
// })

2.4.4rename 修改文件夹

const oldpath = path. join(_ dirname,' ./assets' )
const newPath = path. join(_ dirname,' ./css') 
/ fs. rename(oldPath,newPath,err => {
//if(err)throwerr
/1 }

2.5 querystring

  • querystirng
    • 目的: 用于处理url路径中的query字符
    • 方法: 四个
      • querystring.parse()
      • querystring.stringify()
      • querystring.escape()
      • querystring.unescape()

代码演示如下

const qs = require( "querystring )
const url = require('url')
const str = " http://ww .qinqin. net/ index : php?r=p/d8id=26412144const qsobj = qs .parse(url .parse(str) .query)
//console.log( qsobj ) 11 { r: 'p/d”, id: ' 26412144”}
//url.parse(str).query 1/1 r-p/d8id-26412144
const qs5tr - qs.stringify({ r: "p/d", id:26412144”
console.log( qsstr )
const city =” id-22&city-北京 //1中文-> 特殊字符|
const citystr = qs.escape( city )
console.log( citystr )
const unesstr = qs . unescape( citystr )
console.log( unesstr )

2.6 . Stream

  • 流 zlib
    • 完整的数据块分割开,一片一片的使用
    • 时间短了、给别的任务提供了可执行的机会
  • grunt gulp
  • 过程 第一:先解析文件
  • 第二:创建一个压缩包
  • 第三:把解析压缩完的文件放入压缩包里
const zlib require( 1zlib')
const fs require( fs" )
const path require( path' )
//第一:先解析文件
const reads . fs.createReadstrean(path.join(_ dirnane,./test.txt”))
//第二:创建一个压缩包
const writes fs.createwritestrean(path join(_ dirname,' ./yasuo.gz ”))
const ins zlib.create6z ip()
//.第三:把解析压缩完的文件放入压编包里
reads
.pipe( ins )
.pipe( writes ) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值