nodejs 介绍
宁静致远 7/19/2020 nodejs
# 下载安装
两种方式
# nodeJs 和前端JavaScript的区别
- ECMAscript
- 定义了语法,写javascript和nodeJs都必须遵循
- 变量定义,循环、判断、函数
- 原型和原型链、作用越和闭包、异步
- 不能操作dom、不能监听click 事件,不能发送ajax请求
- 不能处理http请求,不能操作文件
- 只有ECMAScript,几乎做不了任何实际的项目
- javascript
- 使用ECMAscript语法规范,外加WebApi,缺一不可
- DOM操作,BOM操作,事件绑定,Ajax等
- 两者结合,才可以完成浏览器端的任何操作
- nodeJs
- 使用ECMAScript语法规范,外加WebApi, 缺一不可
- 处理http请求,处理文件
- 两者结合,即可完成server端的任何操作
总结:
- ECMAScript是语法规范
- nodeJs = ECMAScript + nodeJs API
- javascript = ECMAScript + Web API (DOM,BOM)
# package.json debugger 调试
--inspect=9929
# server开发和前端开发的区别
服务稳定性
- server端可能会遭受各种恶意攻击和误操作
- 单个客户端可以意外挂掉,但是服务端不能
- PM2做进程守候
考虑内存和CPU (优化和扩展)
- 客户端独占一个浏览器,内存和CPU都不是问题
- server端要承载很多请求,CPU和内存都是稀缺资源
- stream写日志,redis存session
日志记录
- 前端也会参与写日志,但是日志的发起方,不关心后续
- server端要记录日志,存储日志,分析日志,前端不关心
安全
- server端要随时准备接收各种恶意攻击,前端则少很多
- 如: 越权操作,数据库工具等
- 预防 XSS攻击和sql注入
集群和服务拆分
- 产品发展速度快,流量可能会迅速增加
- 如何通过扩展机器和服务来承载大流量
- 支持服务拆分