我的学习node.js心得(一)

版权声明:scream刘小贝版权所有,转载请注明出处 https://blog.csdn.net/qq_34622811/article/details/82774942

众所周知,node.js是目前前端往中高级进阶的一项必备技能,之前学习vue2,只是用了他的打包工具webpack,并没有去深入研究。最近花心思去学习了一下,是我对前端整套流程有了进阶的认识。

 我学习node是从视频开始的,大家可以看一下腾讯课堂的一个《Node.js 实战开发:博客系统》免费的,一共54节课,花了快两周跟着练习消化。视频地址:点这里.

node是一项可以操纵系统的一种服务器语言(个人理解),比如去读取系统里面的文件,就可用node内置的fs模块

//如果不是全局就得引入fs成员
const fs = require("fs");

//fs  核心模块中提供了一个  fs.readFile方法,来读取指定目录下的文件
//fs.resdFile 三个参数

// 1,读取文件的路径
// 2,读取文件的编码格式
// 3,当文件读取完成,调用这个callback回调函数来读取文件的结果

去读取D盘node路径下的aaa文本
fs.readFile("D:/node/aaa.txt", "utf-8", function(error, data) {
 //  用error来判断文件是否读取成功

  if (error){
     console.log("读取文件失败,内容是" + error.message);
   } else{
      console.log("读取文件成功,内容是" + data);
   }
  
});

比如去复制一个文件,就得先去读取那个文件,在将内容复制进去

//文件流复制
const url='D:/node/SICKO MODE.mp3';

//读取改路径文件下得音乐
fs.readFile(url,function(err,data){
	if(!err){
		console.log(data);

        //将名字为数据写入SICKO MODE.mp3得文件中
		fs.writeFile('SICKO MODE.mp3',data,function(err){
		if(!err){
				console.log('写入成功')
			}
		})
	}
})

这样可以联系我们使用和利用模块js得能力。

下一个模块就是http模块,这个可以帮助我们开启一个服务,在浏览器输入相应端口就可以使用。

//引入http模块
var http = require("http");
//创建服务,端口为8090
http.createServer(function(req,res) {

 res.writeHead(200,{
  "content-type":"text/plain"
 });
//在页面上返回文本
 res.write("Hello NodeJs");
 res.end();
}).listen(8090);

http模块中封装了一个HTTP服务器和一个简易的HTTP客户端:http.Server()用于创建是一个基于事件的HTTP服务器,而http.request()和http.get()可以作为客户端向HTTP服务器发起请求。在这里使用的createServer()方法返回了一个http.Server对象,text/plain的意思是将文件设置为纯文本格式。

http.ServerResponse类是返回给客户端的信息,它有三个重要的方法,用于返回响应头、响应内容以及结束请求:writeHead(statusCode[, statusMessage][,headers]):向请求的客户端发送响应头,该函数在一个请求中最多调用一次,如果不调用,则会自动生成一个响应头write(chunk[,encoding][,callback]):向请求的客户端发送响应内容,chunk是一个buffer或者字符串,如果chunk是字符串,则需要指定编码方式,默认为utf-8,在end()方法调用之前可以多次调用end([data][,encoding][,callback]):结束响应,告知客户端所有发送已经结束,如果不调用这个函数,客户端将一直处于等待状态

http.Server最常用的事件是"request",当接收到http请求时触发。在"request"事件中,传入回调函数的参数req和res分别是http.IncomingMessage和http.ServerResponse的实例:http.IncomingMessage类包含了从客户端发来的http请求信息,它可以用来访问响应状态、消息头、以及数据。

猜你喜欢

转载自blog.csdn.net/qq_34622811/article/details/82774942