node.js入门教程(一)

1. 初识 Node.js

Node.js 是 一个基于 Chrome V8 引擎的 JavaScript 运行环境
Node.js 的官网地址: https://nodejs.org/zh-cn/
① 浏览器 是 JavaScript 的 前端运行环境
② Node.js 是 JavaScript 的 后端运行环境
③ Node.js 中 无法调用 DOM 和 BOM 等
浏览器内置 API

2. fs 文件系统模块

fs 模块 是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。
fs.readFile() 方法,用来 读取 指定文件中的内容
fs.writeFile() 方法,用来向指定的文件中 写入 内容
如果要在 JavaScript 代码中,使用 fs 模块来操作文件,则需要使用如下的方式先导入它:

1. fs.readFile() 的语法格式
使用 fs.readFile() 方法,可以读取指定文件中的内容,语法格式如下:

2. fs.readFile() 的示例代码
以 utf8 的编码格式,读取指定文件的内容,并打印 err 和 dataStr 的值

  

3. 判断文件是否读取成功
可以判断 err 对象是否为 null,从而知晓文件读取的结果:

1. fs.writeFile() 的语法格式
使用 fs.writeFile() 方法,可以向指定的文件中写入内容,语法格式如下:

2. fs.writeFile() 的示例代码
向指定的文件路径中,写入文件内容:

3. 判断文件是否写入成功
可以判断 err 对象是否为 null,从而知晓文件写入的结果:

2.6 fs 模块 - 路径动态拼接的问题
  • 在使用 fs 模块操作文件时,如果提供的操作路径是以 ./ ../ 开头的相对路径时,很容易出现路径动态拼接错误的问题。
  • 原因:代码在运行的时候,会以执行 node 命令时所处的目录,动态拼接出被操作文件的完整路径。
  • 解决方案:在使用 fs 模块操作文件时,直接提供完整的路径,不要提供 ./ 或 ../ 开头的相对路径,从而防止路径动态拼接的问题
3. path 路径模块
path 模块 是 Node.js 官方提供的、用来 处理路径 的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理
path.join() 方法,用来 将多个路径片段拼接成一个完整的路径字符串
path.basename() 方法,用来从路径字符串中,将文件名解析出来
如果要在 JavaScript 代码中,使用 path 模块来处理路径,则需要使用如下的方式先导入它:

 

1. path.join() 的语法格式
使用 path.join() 方法,可以把多个路径片段拼接为完整的路径字符串,语法格式如下:

1. path.basename() 的语法格式
使用 path.basename() 方法,可以获取路径中的最后一部分,经常通过这个方法获取路径中的文件名,语法格式如下:

3.4 获取路径中的文件扩展名
1. path.extname() 的语法格式
使用 path.extname() 方法,可以获取路径中的扩展名部分:

 4. http 模块

回顾:什么是 客户端 、什么是 服务器
在网络节点中,负责消费资源的电脑,叫做客户端; 负责对外提供网络资源 的电脑,叫做服务器。
http 模块 是 Node.js 官方提供的、用来 创建 web 服务器 的模块。通过 http 模块提供的 http.createServer() 方法,就能方便的把一台普通的电脑,变成一台 Web 服务器,从而对外提供 Web 资源服务。
IP地址 域名 一一对应的关系 ,这份对应关系存放在一种叫做 域名服务器 (DNS)的电脑中。 域名服务器就是提供 IP 地址和域名 之间的转换服务的服务器
注意:
① 单纯使用 IP 地址,互联网中的电脑也能够正常工作。但是有了域名的加持,能让互联网的世界变得更加方便。
② 在开发测试期间, 127.0.0.1 对应的域名是 localhost ,它们都代表我们自己的这台电脑,在使用效果上没有任何区别。
1. 创建 web 服务器的基本步骤
① 导入 http 模块
② 创建 web 服务器实例
③ 为服务器实例绑定 request 事件, 监听客户端的请求
④ 启动服务器
  1. 2. 步骤1 - 导入 http 模块
  1. 如果要希望使用 http 模块创建 Web 服务器,则需要先导入它:
2. 步骤2 - 创建 web 服务器实例
调用 http.createServer() 方法,即可快速创建一个 web 服务器实例:

2. 步骤3 - 为服务器实例绑定 request 事件
为服务器实例绑定 request 事件,即可监听客户端发送过来的网络请求:

2. 步骤4 - 启动服务器
调用服务器实例的 .listen() 方法,即可启动当前的 web 服务器实例:

3. req 请求对象
只要服务器接收到了客户端的请求,就会调用通过 server.on() 为服务器绑定的 request 事件处理函数
如果想在事件处理函数中, 访问与客户端相关的 数据 属性 ,可以使用如下的方式

4. res 响应对象
在服务器的 request 事件处理函数中,如果想 访问与服务器相关的 数据 属性 ,可以使用如下的方式:

5. 解决 中文乱码 问题
当调用 res.end() 方法,向客户端发送中文内容的时候,会出现乱码问题,此时,需要手动 设置内容的编码格式

1. 核心实现步骤
① 获取 请求的 url 地址
② 设置 默认的响应内容 为 404 Not found
③ 判断用户请求的是否为 / /index.html 首页
④ 判断用户请求的是否为 /about.html 关于页面
⑤ 设置 Content-Type 响应头 ,防止中文乱码
⑥ 使用 res.end() 把内容响应给客户端
4.5 根据不同的 url 响应不同的 html 内容
2. 动态响应内容
1. 核心思路
把文件的 实际存放路径 作为 每个资源的 请求 url 地址

 

4.6 案例 - 实现 clock 时钟的 web 服务器
3. 步骤1 - 导入需要的模块

 3. 步骤2 - 创建基本的 web 服务器

 

 3. 步骤3 - 将资源的请求 url 地址映射为文件的存放路径

 

3. 步骤4 - 读取文件的内容并响应给客户端

 

3. 步骤5 – 优化资源的请求路径

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/252555.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

最通俗易懂的JavaScript入门教程

前言:“成功没有捷径,脚踏实地一步一个脚印,该来的总会来,不好高骛远,不急功近利,付出总会有回报,不管处于哪个阶段,都要一步一个脚印,踏实的走好每一步!” 你…

Vue.js入门教程(适合初学者)

Vue.js入门教程 Vue官网网址&#xff1a;Vue.js 中文网 Vue.js Vue.js是渐进式JavaScript 框架&#xff0c;是一套构建用户界面的渐进式框架。也可以说Vue.js 是一个用来构建网页界面的 JavaScript 库。 Vue的常用使用方式有两种&#xff1a; 一、使用<script>标签&am…

尚硅谷JavaScript高级教程(javascript实战进阶)学习笔记

前言 这个是我学习过程中的笔记&#xff0c;分享给大家&#xff0c;希望对大家有用。 学习内容是尚硅谷JavaScript高级教程(javascript实战进阶)&#xff0c;这里是视频链接。 我在前面有两篇对于web前端HTML和CSS的学习笔记&#xff0c;有需要的可以看一下哈。 黑马程序员版…

Threejs入门教程

一、本地搭建Threejs官方文档网站 1.官网地址&#xff1a;https://github.com/mrdoob/three.js 下载压缩包并解压或使用git clone 若github过慢&#xff0c;则使用gitee对应网址&#xff1a;three.js: mrdoob/three.js 同步库 2.目录解析 3.启动方式 在three.js项目根目录下…

Javascript机器学习教程

Javascript机器学习教程 使用 Javascript 和 TensorflowJS 通过动手项目从头开始掌握机器学习 课程英文名&#xff1a;Machine Learning with Javascript 此视频教程共1.0小时&#xff0c;中英双语字幕&#xff0c;画质清晰无水印&#xff0c;源码附件全 下载地址 课程编号…

CAD梦想画图中删除命令

“删除”命令用于删除在CAD作图过程中的图线和多余的图线。用户既可以先选择对象再执行“删除”&#xff0c;也可以先执行“删除”命令再选择对象。选择“删除”命令后&#xff0c;CAD屏幕上的十字光标将会变成一个拾取框&#xff0c;选择需要删除的对象&#xff0c;按enter键。…

CAD怎么删除图块注释?删除CAD图块注释步骤

CAD设计过程中&#xff0c;有时候会在图纸中添加许多注释&#xff0c;如&#xff1a;文字注释&#xff0c;图块注释&#xff0c;标注样式注释等。当需要删除图纸中的CAD图块注释时&#xff0c;你知道该如何操作吗&#xff1f;本节课程小编就来给大家分享一下浩辰CAD软件中删除C…

AutoCAD单独卸载,不影响其他软件,CAD 2021安装失败,怎么完全彻底卸载删除清理干净CAD 2021各种残留注册表和文件?

AIOC超级工具箱 AIOC超级工具箱是专门为了针对Autodesk类软件卸载不干净而导致Autodesk安装失败问题进行研发的Autodesk一键卸载工具。现在虽然360或一些卸载软件提供了强力卸载Autodesk的工具&#xff0c;可以将Autodesk注册表和一些Autodesk目录的Autodesk残留信息删除&…

CAD卸载重新安装方法,使用清理卸载工具完全彻底删除干净CAD各种残留注册表和文件。

CAD没有按照正确方式卸载&#xff0c;导致CAD安装失败。现在虽然360或者其他一些卸载软件提供了强力卸载清理CAD的工具&#xff0c;可以将CAD注册表和一些CAD目录的CAD残留信息删除干净&#xff0c;但仍不能确保将CAD所有相关dll程序文件、exe可执行文件和注册表信息全部彻底删…

CAD 卸载工具,完美彻底卸载清除干净cad各种残留注册表和文件

CAD提示安装未完成&#xff0c;某些产品无法安装该怎样解决呢&#xff1f;&#xff0c;一些朋友在win7或者win10系统下安装CAD失败提示CAD安装未完成&#xff0c;某些产品无法安装&#xff0c;也有时候想重新安装CAD的时候会出现本电脑windows系统已安装CAD&#xff0c;你要是不…

【AutoCAD 卸载工具,完全彻底删除清理干净AutoCAD各种残留注册表和文件】

AutoCAD卸载工具&#xff0c;完全彻底删除干净AutoCAD各种残留注册表和文件。AutoCAD安装失败&#xff0c;怎么完全彻底删除清理干净AutoCAD各种残留注册表和文件呢&#xff1f;有些同学想把AutoCAD重新安装&#xff0c;但是AutoCAD安装失败显示失败&#xff0c;有时AutoCAD安装…

CAD单独卸载,不影响其他软件,CAD专用卸载修复工具,一键完全彻底卸载删除CAD软件的专用卸载工具

AIOC超级工具箱 小伙伴是不是遇到 CAD/3dmax/maya/Revit/Inventor 安装失败或者安装不了的问题了呢&#xff1f;AUTODESK系列软件着实令人头疼&#xff0c;CAD/3dmax/maya/Revit/Inventor安装失败之后不能完全卸载&#xff01;&#xff01;&#xff01;&#xff08;比如maya&a…

cad 2020安装失败,怎么完全彻底卸载删除清理干净cad 2020各种残留注册表和文件? 【转载】

cad 2020卸载工具&#xff0c;完全彻底删除干净cad 2020各种残留注册表和文件。cad 2020安装失败&#xff0c;怎么完全彻底删除清理干净cad 2020各种残留注册表和文件呢&#xff1f;有些同学想把cad 2020重新安装&#xff0c;但是cad 2020安装失败显示失败&#xff0c;有时cad …

CAD 残留文件和注册表如何完全彻底卸载删除干净【转载】

CAD 残留文件和注册表如何完全彻底卸载删除干净&#xff1f;cad安装失败&#xff0c;怎么完全彻底删除清理干净cad各种残留注册表和文件呢&#xff1f;有些同学想把cad重新安装&#xff0c;但是cad安装失败显示失败&#xff0c;有时cad安装到一半就显示失败&#xff0c;然后会问…

CAD卸载方法,如何完全彻底卸载删除清理干净CAD各种残留注册表和文件? 【转载】

CAD卸载方法&#xff0c;完全彻底删除干净CAD各种残留注册表和文件。CAD安装失败&#xff0c;怎么完全彻底删除清理干净CAD各种残留注册表和文件呢&#xff1f;有些同学想把CAD重新安装&#xff0c;但是CAD安装失败显示失败&#xff0c;有时CAD安装到一半就显示失败&#xff0c…

cad卸载_如何卸载干净CAD?

小伙伴是不是遇到 CAD/3dmax/maya/Revit/Inventor 安装失败或者安装不了的问题了呢&#xff1f;AUTODESK系列软件着实令人头疼&#xff0c;CAD/3dmax/maya/Revit/Inventor安装失败之后不能完全卸载&#xff01;&#xff01;&#xff01;&#xff08;比如maya&#xff0c;cad&am…

CAD绘图设计中怎样删除CAD图层?怎样清理CAD图层文件?

我们平时在设计图纸的时候&#xff0c;有的时候&#xff0c;也经常会遇到图层繁多&#xff0c;需要处理的情况&#xff0c;那么图层少的话&#xff0c;我们可以一个一个的进行删除清理&#xff0c;如果图层多了该怎么办&#xff1f;那今天小编就给大家详细的解说一下遇到这种情…

一键卸载cad,强力卸载cad,强力删除autodesk,完美卸载max,彻底卸载revit,彻底删除autodesk的任何软件

点击下载后&#xff0c;请保存文件&#xff0c;并解压后&#xff0c;再打开程序 ▼▼▼下载地址▼▼▼ http://bbs.qbgxl.com/job.php?actiondownload&aid320 主页地址 Autodesk 专用安装检查和卸载程序 http://bbs.qbgxl.com/read.php?tid118 下面介绍下这个工具&…

dwg批量删除自定义范围内指定地物的工具,CAD快速批量删除指定地物,基于FME实现批量删除CAD数据的指定地物

目录 一、实现效果 二、实现过程 1.数据准备 2.提取地物CASS码 3.根据CASS码初步分离拟删除的地物 4.通过几何关系最终分离要删除的地物 5.数据输出 三、工具使用优化 四、总结及注意事项 今天带来一个基于FME实现对dwg数据批量删除自定义范围内指定地物的工具案例。主…

CAD看图软件如何删除CAD图纸内容?

在CAD制图学习中&#xff0c;我们会查看大量的CAD图纸。有时候还需要对CAD图纸内容做修改。例如&#xff0c;该如何删除CAD图纸里的内容呢&#xff1f;今天我就 在这里和大家分享一下&#xff0c;CAD看图软件如何删除CAD图纸内容&#xff1f;我们可以使用CAD看图软件来演示操作…