我的学习node.js心得(一)
众所周知,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请求信息,它可以用来访问响应状态、消息头、以及数据。
我的学习node.js心得(一)相关推荐
- 第一天 :学习node.js
第一天 :学习node.js ① node.js环境配置 我学过的语言最简单的一门 直接百度就可以配置 ② 每个入门 的程序都是从helloworld开始 代码如下 : var http=requir ...
- 学习 Node.js 的 6 个步骤
学习 Node.js 的 6 个步骤 从刚接触Node.js到现在,自己也是一路摸滚打爬过来的,虽不说是什么高手,但对于如何学习Node.js,还是有一些个人见解,拿出来与大家共勉~ 学习Node.j ...
- 学习node js 之微信公众帐号接口开发 准备工作
绪:因工作须要,近期開始学习Node js,之前隐隐约约听到过node js 但没有实际见到过,仅仅好google了:至于什么是node js,能做些什么,有多么好.或者有哪些弊端我这里就不多说了,由 ...
- 【Nodejs】448- 深入学习 Node.js Buffer
预备知识 ArrayBuffer ArrayBuffer 对象用来表示通用的.固定长度的原始二进制数据缓冲区.ArrayBuffer 不能直接操作,而是要通过类型数组对象 或 DataView 对象来 ...
- 【全文】狼叔:如何正确的学习Node.js
说明 2017-12-14 我发了一篇文章<没用过Node.js,就别瞎逼逼>是因为有人在知乎上黑Node.js.那篇文章的反响还是相当不错的,甚至连著名的hax贺老都很认同,下班时读那篇 ...
- 小程序 timestamp_通过构建Timestamp微服务应用程序来学习Node.js
小程序 timestamp by Ayo Isaiah 通过Ayo Isaiah 通过构建Timestamp微服务应用程序来学习Node.js (Learn Node.js by building a ...
- 狼叔:如何正确的学习Node.js
1. [知乎Live]狼叔:如何正确的学习Node.js 预览地址 i5ting.github.io/How-to-lear- Live 简介 你好,我是 i5ting ,江湖人称「狼叔」,目前是阿里 ...
- 【知乎Live】狼叔:如何正确的学习Node.js
2019独角兽企业重金招聘Python工程师标准>>> Live 简介 你好,我是 i5ting ,江湖人称「狼叔」,目前是阿里巴巴技术专家,斯达克学院( StuQ )明星讲师, N ...
- 如何正确学习 Node.js
2017-12-14 我发了一篇文章<没用过Node.js,就别瞎逼逼>是因为有人在知乎上黑Node.js.那篇文章的反响还是相当不错的,甚至连著名的hax贺老都很认同,下班时读那篇文章, ...
最新文章
- 人工智能产业趋势和机遇!
- Windows下Python自动补全
- SAP零售行业解决方案初阶 4 – 维护品类
- groupby elasticsearch
- 详细回复某个CSDN网友,对我的文章和技术实力以及CSDN的吐槽
- Java提高学习之Object(3)
- java dot画图_小O的图案 (Java代码)(最简单的解法)
- 计算机常见的户动方法有哪些,《360doc个人图书馆》常用操作方法
- Linux平台代码覆盖率测试工具GCOV简介
- JavaScript运算符及转义字符
- MeasureSpec介绍
- LOLBox多玩饭盒Android源码
- 智能教育,是未来教育的趋势吗?
- sql查询字段值长度判断是否18位
- 第二次使用Arduino MKR WiFi 1010做服务器
- Hadoop笔记-01概述
- c语言13 6,C语言学习笔记13
- python 匹配两个字符串的相似度
- 基于HVS 的结构相似性的视频质量评价
- python读取csv文件路径正确但报错FileNotFoundError: [Errno 2] No such file or directory
热门文章
- IDEO:以洞悉人性为设计主轴
- GameFramework篇:Font texture for dynamic font MainFont is missing. Please reimport the Font. All dyna
- 功能实现_实现指北针(UI图片)效果
- Qwt Plot Magnifier 缩放以鼠标为中心
- C++性能优化系列——3D高斯核卷积计算(二)FMA向量化计算一维卷积
- 计算机查询网络连接,本地网络查询方法大全
- Python云端系统开发——将Python数据分析代码发布到Django网站上
- 基于计算机视觉的梦幻西游辅助脚本(只用于开发学习技术)
- 谷歌地图 替代_Google地图的替代品
- 重大要素改变中的机会选择包括_智慧树青年教师课堂教学比赛微课4答案