前端学习总结(八)NodeJS——前端工程师通向后端的里程碑

本文介绍了NodeJS作为前端工程师迈向后端的重要工具,详细讲解了NodeJS的特点,包括事件驱动和异步编程的优势。讨论了MEAN Stack(MongoDB+Express+AngularJS+NodeJS)在web开发中的应用,并分享了NodeJS的常用技巧和模块,如文件系统、调试工具和nodemon。此外,还概述了MongoDB的灵活性和在数据存储上的优势,以及一些MongoDB的基本操作。
摘要由CSDN通过智能技术生成

一 NodeJS简介

NodeJS优缺点总结:

优点:
1.以事件和异步为特点最成功的服务器解决方案

2.部署简单方便;命名注重约定(统一标准);项目所需的扩展,插件资源相对独立,不易冲突

3.事件驱动(根据系统当前出现的事件来调度资源)

4.异步编程(大部分语言都是同步执行,一个操作出问题会影响整个操作,有IO时必须等待其完成才能执行后面的操作,而js作为异步执行,当有IO时,不会光等它,会继续执行后面的操作,IO完成时,以事件来通知,进而执行其相关的操作;所以快!)

实现异步编程的方式:
a.回调函数(操作完成之后调用,高耦合,程序流程复杂,不易维护,一事件只能绑定一个函数)
b.事件监听(对事件进行监视,发生时进行某个操作,一个事件可以绑定多个函数,耦合度低,但程序流程会更复杂)
c.发布/订阅模式(维护一个专门的注册机构,所以特定的事件发生时都通知注册机构,需要监听某个事件只需要像注册机构订阅即可)

5.高效与性能

单个操作没有优势,但通过资源调配和对IO操作的优化实现高效(对比如php对IO处理是开多线程(浪费))

6.单线程与多线程
Node.js单进程
为更好利用cpu资源,可以利用子进程和多进程
子进程:child_process模块
多进程:pm2等第三方工具

缺点:

1.大量采用匿名函数,使得抛出的异常不易阅读(也是js的大缺点之一,所以给匿名函数命名是很好的习惯,但做的人不多)

2.try/catch限于同步代码,使得异常捕获较复杂(如果是异步代码,就需要在异步代码内部(使用错误标志参数)进行捕获)

3.单线程(最大的好处是不存在不同线程之间的资源调度),最大的缺点在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值