小宝宝也一看就会的node.js简介 | 青训营笔记

160 阅读2分钟

这是我参与「第四届青训营」笔记创作活动的第12天

前言

Node.js是一个用起来非常非常广泛的框架,在前端中有着非常广泛的应用。所以今天我们就来学一手Node.js捏。

应用场景

在前端工程中,Node.js的重要性不言而喻,目前还没有能够很好替代的东西;在web服务端应用中,它也有着自己的优势;如果你想要写Electron应用的话,也可以使用Node.js,也是非常值得考虑的。

运行特点

Node.js在运行时主要有这三个特点:

第一是异步性。众所周知,我们在加载网页的时候,很多东西都是同时加载的,一定不能在同一个线程中的先后顺序中进行运算,这个时候异步性就显得非常重要了。当Node.js执行I/O操作的时候,会在响应返回后恢复操作,而不是阻塞线程、占用内存,对系统的压力就不会那么大了。

第二就是单线程。JavaScript本身是不支持多线程的,虽然他看上去像是缺点,但是这样当你在同时运行多个网页的时候,可以有效降低系统资源消耗。而且因为没有多线程,你就不用考虑自锁等操作了,也节省了程序员的脑力。

第三就是跨平台。跨平台这可以说是相当重要的特性了。几乎世界上所有的电子产品都可以上网,所以说一个跨平台的框架就显得非常的重要。

我们来编写一个Http Server

那么首先我们应该安装一下Node.js。上官网安装就行了。然后就可以进行Http Server和Client的编写。

const http = require('http')


const hostname = '127.0.0.1'
const port = 3000


const server = http.createServer((req, res) => {
  res.statusCode = 200
  res.setHeader('Content-Type', 'text/plain')
  res.end('Hello World\n')
})


server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`)
})

然后需要编写静态文件服务器、React SSR服务,需要的时候也可以使用inspector来进行调试诊断。

其他

Node.js是一个开源的项目,所以我们可以自己去看他的代码,也可以贡献自己的代码,帮助它变得更好捏。

总结

还是那句话,看到了一个框架,先去看文档,多写才是硬道理。