这是我参与「第五届青训营」伴学笔记创作活动的第17天,今天学习的课题是Node.js与前端开发实战,以下内容就是我今天的课堂笔记:
Node.js的应用场景
首先Node.js是什么?得先搞清楚,我在手机浏览器上搜索的结果是:Node.js是能够在服务器端运行JavaScript的开放源代码、跨平台运行环境;Node.js采用Google开发的v8运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传数量和规模。
关于Node.js的应用场景课堂上提到了三个:1.前端工程化;2.Web服务端应用;3.Electron跨端桌面应用。首先提到前端工程化的场景,正是Node.js赋予了js开发者在浏览器外运行代码的能力加速催生了一些项目的出现,下面这张图片是前端工具的发展:
然后是Web服务端应用的场景:就是使用Node.js开发Web服务端应用,也就是后端服务。
最后的是第三个场景,Electron跨端桌面应用的场景,这里不只是指electron还有nw.js等等,这个场景在较大的企业里面非常常见
Node.js运行时结构
这个图我还是看不大懂,所以只好跳过,求大神可以帮解一下。
课堂上后面的内容讲的是v8,libuv;可以得知它们和一些其他的模块是支撑Node.js运行的关键,其中v8在课堂上提到了JavaScript Runtime(js运行环境,主要提供一些对外调用的接口),诊断调试工具(inspector);libuv在课堂上提到了eventloop(事件循环),syscall(系统调用);在网上搜索v8,可知它是google开发的js引擎,为js提供运行环境;uv是一个跨平台的异步I/O库;
结合以上内容可以得出Node.js运行时结构的特点:1.异步I/O;2.单线程;3.跨平台;下面三张图片是三个特点的详解:
课堂后面还讲了编写Http Server;后期看懂了再进行补充叭。
小结
这节课难点我觉着还是那个运行时结构的图片;文章图片均出自字节跳动。谢谢大家观看。