前端与 HTML | 青训营笔记

33 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天。

一、本堂课重点内容:

  • 介绍 Node.js 的应用场景
  • 介绍 Node.js 运行时结构
  • 如何用Node.js编写 Http Server

二、详细知识点介绍:

  • Buffer

    Buffer 是 Node.js 的内置类型,它是用来表示内存中一块区域的,用以保存二进制数据,可以将它看做为一个二进制数组。

    Buffer 可以用来表示图片、视频这样的二进制数据,另外我们从文件中读取到的也是 Buffer 类型的数据,从网络中接收的数据也是 Buffer 类型的数据

    Buffer 位于全局作用域中,所以不需要通过 require('buffer') 来引入 Buffer

    大部分网络传输的时候会使用通过使用字符串,这难免需要转换成Buffer,以二进制方式进行数据传输。如果我们直接预先转换为Buffer 再进行传输,那么在传输过程中无需做额外的转换,也避免了损耗,使性能得到提升。

  • SSR(server side rendering服务端渲染)

    • 相比传统 HTMIL 模版引擎: 避免重复编写代码
    • 相比 SPA (single page application) : 首屏渲染更快,SEO 友好
    • 缺点:通常 qps 较低,前端代码编写时需要考虑服务端染情况
    qps:每秒查询率的简称,是表示计算机中服务器每秒钟查询的次数,是衡量服务器性能的标准
    
  • node.js运行时结构 image.png

  • node.js特点

    • 异步
    • 单线程
    • 跨平台
  • path.resolve()

    path.resolve() 该方法将一些 路径/路径段 解析为绝对路径

    path.resolve([from…],to )将参数to位置的字符解析到一个绝对路径里,[from … ]为选填项,路径源

    var path = require("path")   //引入node的path模块 
    path.resolve('/a/b', './c')   // returns '/a/b/c'
    
  • 使用node.js中stream相关的API的优势

    该API内部会进行一定的处理,效果是会尽可能少的占用内存空间

三、实践练习例子:

将回调函数转成promise
function wait(t) {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve()
        },t)
    })
}
wait(1000).then(() => { console.log('get called') })

四、课后个人总结:

本次课程,在老师讲解用Node.js编写HTTP SERVER的过程中发现自己有很多基础的知识点掌握的不够扎实,导致在看老师写代码,讲解代码的时候会有一点跟不上,但及时的补上自己欠缺的部分也是一种收获,同时也证明了基础不牢,地动山摇。

五、引用参考: