Node.js 适合用来做 web 开发吗?
时间:2023-11-25 19:36:01 | 来源:网站运营
时间:2023-11-25 19:36:01 来源:网站运营
Node.js 适合用来做 web 开发吗?:异步的思维是js的特点,也是node高并发性能优势的原因之一,你从传统的同步语言过来可能不习惯,但是像我们这种从前端写js过来的人就自然得像说话一样,关键还是适应。熟悉之后可以用async,Promise系 (q, bluebird) 或者 eventproxy 之类的库来改善代码嵌套的问题。
异常的问题 - Node 核心库的 API 抛异常大致有三种常见情况:
1. 异步回调。按惯例,接收的回调函数第一个参数都是可能出现的异常,没有特殊情况的话你应该把异常按照同样的参数位置一层层传下去,直到最顶层的回调里进行统一处理。
2. 同步版本的api会直接抛异常。所以如果确实无法避免抛错的可能,直接 try catch,要么就避免用同步版本。
3. Stream形态的API,必须在stream对象上添加 error 的侦听函数,不然异常会直接抛出。
如果出现导致进程中断的异常,说明你的代码有逻辑层面的问题(以上几点没有完全做好),你应该在开发的时候发现并处理这些异常,而不是让它们在部署环境中发生。
如果你实在避免不了问题发生,你可以用 Node 的 Domain API 来对整块代码的异常进行捕捉。
另外可以用进程管理工具比如 forever, pm2 或是 monit 监视应用进程,崩溃后自动重启。
最后回到你的问题,node是否适合做web开发 - node的独特优势是高并发,高实时性,或者单页富前端的web应用,比如实时聊天,游戏,另外node也是写JSON API的最好选择。