node的基本了解

nodejs有很多自己内置的模块

其中最常用的有五个模块

fs						:文件操作
http					:网络操作
path					:路径操作
querystring		:查询参数解析
url						:url解析

我们先来学习path 路径操作

常用的有以下几个

console.log(_dirname)//获取当前执行文件的绝对路径,不包括文件名
console.log(_filename)//获取当前执行文件的绝对路径,包括文件名
path.extname(_filename)//获取文件扩展名
path.basename(_filename)//获取文件名
path.dirname(_filename)//获取指定文件当前所在路径
path.parse(_filename)//把路径解析成一个对象(所在盘符,所在路径,文件名后缀)

需要注意的是由于js没有二进制类型,只有字符串数据类型,所以我们可能用buffer来转换数据类型,buffer是用ASCLL码来转换的,我们不必深究,只需记得,看到buffer的对象,使用toString()函数转换即可

然后是fs文件操作

不过我们先学一个小知识,同步和异步

用一个导图来表示

同步既为一步一步的执行
异步即为遇到阻塞我们可以先运行非阻塞的程序,等待阻塞消失或运行完毕。以fs来说既为不用等待读取完毕,就可以继续执行下面的代码。但通常我们会在异步函数中加上回调函数,作用为自己阻塞运行完了招呼线程过来执行。

回调函数
fs.readFile(filePath,"utf-8",(err,res)=>{//这里的utf-8是解码方式,我们就可以不用toString()来转换了
  if(err){
    console.log(err)
    return 
  }
  console.log(res)
})

好的那现在我们来学习fs文件操作

fs.readFile("文件路径名") //读取文件内容  
fs.writeFile("文件路径名""写入的内容""解码方式"(err,data)=>{回调函数})//覆盖写入文件
fs.renameSync("旧文件名""新文件名");//修改文件名
fs.readdirSync(_dirname)//读取当前路径文件名列表数组

现在是http模块

//创建服务器
const server = http.createServer((requset,response)=>{
				//requset	 请求对象   // response 响应对象
  	//每接受导一次请求就来执行一次这里的代码
  res.setHeader( 'Content-Type', 'text/plain; charset=utf-8')//设置响应头."text/plain"是响应类型,"charset=utf-8"是响应编码
  let reqUrl = request.url //获取请求路径 (请求报文中第一行的第二个信息)
  //比如如果请求是127.0.0.1:8080/123
  那么获取到的就是/123
  
  let reqMenthod = request.method //获取的请求方式 Get Post
  
  requset.on("data",(postData)=>{
    //收到请求时执行data这个方法
  		console.log(postData.toString())
  })
})

//调用服务器对象的监听方法,让服务器监听浏览器的请求
server.listen(端口,(error)=>{
	
})

url 模块

url.pars(url,true);//获取get请求对象

npm和yarn

NPM是随同NodeJS一起安装的包管理工具
作用:
允许用户从NPM服务器下载别人编写的第三方包到本地使用。
允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
yarn是由fasebook团队推出的新一代包管理工具,相比于npm更加快捷高效。

npm和yarn命令行区别

![image.png](https://img-blog.csdnimg.cn/img_convert/aadfe7b532be6305bae2f79cfd91a659.png#clientId=ud8bd8b7b-2d9c-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=167&id=u2e0bc0cc&margin=[object Object]&name=image.png&originHeight=334&originWidth=1001&originalType=binary&ratio=1&rotation=0&showTitle=false&size=134611&status=done&style=none&taskId=u3a782eb5-2de3-4562-8b74-38d587421b8&title=&width=500.5)

模块化问题

node不支持es6语法,但支持commonjs语法,我们可以通过第三方工具把es6转换为commonjs
安装工具:
安装工具
yarn g1oba1 add babe1-c1i browserify 或者npm instal1 babe1-c1i browserify -g
在自己项目执行
yarn add babe1-preset-es2015 或者 npm insta11 babel-preset-es2015 --save-dev
在根目录新建 .babelrc 文件
{
  "presets":[
    	"es2015"
  ]
}
工具安装好后执行
babel src -d lib
然后正常 node 主文件即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值