WEB前端开发工程师Node.js基础与提升视频课程(Head老师)

PHP全栈开发工程师课程,挑战年薪30万,Node.js基础与提升,包含知识:Node.js搭建HTTP服务器,Node.js NPM使用介绍,Node.js Buffer缓冲区,通过10天的学习快速学习Node.js高级设计知识技术。

437人学习

中级17课时2019/05/22更新

二维码下载学堂APP缓存视频离线看

申建明
    • 畅销套餐
    • 精选套餐
    • 人气套餐
    • 尊享套餐
    • 高薪套餐
  • 课程介绍
  • 课程大纲

适合人群:

零基础 小白 新手 前端爱好者 大学生 技术转型 职业转型 WEB前端 美工

你将会学到:

PHP全栈开发工程师课程,挑战年薪30万,Node.js基础与提升,包含知识:Node.js搭建HTTP服务器,Node.js NPM使用介绍,Node.js Buffer缓冲区,通过10天的学习快速学习Node.js高级设计知识技术。

课程简介:



展开更多

课程大纲-WEB前端开发工程师Node.js基础与提升视频课程(Head老师)

  • 1

    Node.js概述Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

    「仅限付费用户」点击下载“笔记.docx”

    [12:40]
  • 2

    Node.js 搭建HTTP服务器超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。

    「仅限付费用户」点击下载“笔记.docx”

    [11:18]
  • 3

    Node.js REPL (交互式解释器)Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。Node 自带了交互式解释器,可以执行以下任务:读取 - 读取用户输入,解析输入了Javascript 数据结构并存储在内存中。执行 - 执行输入的数据结构打印 - 输出结果循环 - 循环操作以上步骤直到用户两次按下 ctrl-c 按钮退出。Node 的交互式解释器可以很好的调试 Javascript 代码。

    「仅限付费用户」点击下载“笔记.docx”

    [08:56]
  • 4

    Node.js NPM使用介绍NPM(node package manager),通常称为node包管理器。顾名思义,它的主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布等。npm的背后,是基于couchdb的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。

    「仅限付费用户」点击下载“笔记.docx”

    [17:27]
  • 5

    Node.js异步式IO与事件编程Node.js 最大的特点就是异步式 I/O(或者非阻塞 I/O)与事件紧密结合的编程模式。这种模式与传统的同步式 I/O 线性的编程思路有很大的不同,因为控制流很大程度上要靠事件 和回调函数来组织,一个逻辑要拆分为若干个单元什么是阻塞(block)呢?线程在执行中如果遇到磁盘读写或网络通信(统称为 I/O 操作), 通常要耗费较长的时间,这时操作系统会剥夺这个线程的 CPU 控制权,使其暂停执行,同 时将资源让给其他的工作线程,这种线程调度方式称为 阻塞。当 I/O 操作完毕时,操作系统 将这个线程的阻塞状态解除,恢复其对CPU的控制权,令其继续执行。这种 I/O 模式就是通 常的同步式 I/O(Synchronous I/O)或阻塞式 I/O (Blocking I/O)。

    「仅限付费用户」点击下载“笔记.docx”

    [12:56]
  • 6

    Node.js事件循环1.Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高。2.Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发。3.Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。4.Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发生就调用该回调函数.

    「仅限付费用户」点击下载“笔记.docx”

    [12:35]
  • 7

    Node.js EventEmitter在Nodejs中,异步的I/O 操作在完成时会触发事件队列中的具体事件。这里的主要原因是这些对象本质上是通过继承EventEmitter来实现对事件的处理和回调,如文件的file读写等。(这里的事件与DOM树上事件不同,不存在事件冒泡和捕获的情况。)我们也可以让自定义的对象通过继承EventEmitter来让其走观察者模式(事件监听与触发),主要通过EventEmitter的on和emit这些方法来构成。也有更为具体的API。如emitter.once(event,listener)添加一次性 listener(这个 listener 只会被触发一次,触发完成后就被删除)。

    「仅限付费用户」点击下载“笔记.docx”

    [20:40]
  • 8

    Node.js Buffer(缓冲区)JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库。Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二进制数据,每当需要在 Node.js 中处理I/O操作中移动的数据时,就有可能使用 Buffer 库。原始数据存储在 Buffer 类的实例中。一个 Buffer 类似于一个整数数组,但它对应于 V8 堆内存之外的一块原始内存。

    「仅限付费用户」点击下载“笔记.docx”

    [16:24]
  • 9

    Node.js Stream流类型Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。Node.js,Stream 有四种流类型:Readable - 可读操作。Writable - 可写操作。Duplex - 可读可写操作.Transform - 操作被写入数据,然后读出结果。所有的 Stream 对象都是 EventEmitter 的实例。常用的事件有:data - 当有数据可读时触发。end - 没有更多的数据可读时触发。error - 在接收和写入过程中发生错误时触发。finish - 所有数据已被写入到底层系统时触发

    「仅限付费用户」点击下载“笔记.docx”

    [22:59]
  • 10

    Node.js模块系统为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。换言之,一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。

    「仅限付费用户」点击下载“笔记.docx”

    [06:50]
  • 11

    Node.js函数在JavaScript中,一个函数可以作为另一个函数的参数。我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。

    「仅限付费用户」点击下载“笔记.docx”

    [06:55]
  • 12

    Node.js路由我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码。因此,我们需要查看HTTP请求,从中提取出请求的URL以及GET/POST参数。这一功能应当属于路由还是服务器(甚至作为一个模块自身的功能)确实值得探讨,但这里暂定其为我们的HTTP服务器的功能。我们需要的所有数据都会包含在request对象中,该对象作为onRequest()回调函数的第一个参数传递。但是为了解析这些数据,我们需要额外的Node.JS模块,它们分别是url和querystring模块。

    「仅限付费用户」点击下载“笔记.docx”

    [08:38]
  • 13

    Node.js全局对象JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。在 Node.js 我们可以直接访问到 global 的属性,而不需要在应用中包含它。

    「仅限付费用户」点击下载“笔记.docx”

    [04:53]
  • 14

    Node.js文件系统Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync()。异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)。建议大家是用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞。

    「仅限付费用户」点击下载“笔记.docx”

    [19:54]
  • 15

    Node.js GET/POST请求由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数。

    「仅限付费用户」点击下载“笔记.docx”

    [06:31]
  • 16

    Node.js WEB模块Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。大多数 web 服务器都支持服务端的脚本语言(php、python、ruby)等,并通过脚本语言从数据库获取数据,将结果返回给客户端浏览器。目前最主流的三个Web服务器是Apache、Nginx、IIS。

    「仅限付费用户」点击下载“笔记.docx”

    [08:53]
  • 17

    作业作业

    [作业]
在线
客服
APP
下载

下载Android客户端

下载iphone 客户端

官方
微信

关注官方微信

返回
顶部