Node JS 初识

一、NVM

  1. nvm 可以切换 node 版本,管理 node,下载地址 https://github.com/coreybutler/nvm-windows/releases,如下所示:
  • nvm-noinstall.zip:绿色免安装版,但使用时需进行配置。
  • nvm-setup.zip:安装版,推荐使用
  1. nvm 常用命令,如下所示:
  • nvm list 查看当前所有的 node 版本
  • nvm install v10.13.0 安装指定的版本
  • nvm use -delete-prefix 10.13.0 切换到指定的版本

二、NodeJS 与 JS

  1. ECMAScript,如下所示:
  • 定义了语法,写 JavaScriptnodejS 都必须遵守
  • 变量定义,循环、判断、函数
  • 原型和原型链、作用域和闭包、异步
  • 不能操作 DOM,不能监听 click 事件,不能发送 ajax 请求
  • 不能处理 http 请求,不能操作文件
  • 只有 ECMAScript,几乎做不了任何实际的项目
  1. JavaScript,如下所示:
  • 使用 ECMAScript 语法规范,外加 web API,缺一不可
  • DOM 操作,BOM 操作,事件绑定,Ajax
  • 两者结合,即可完成浏览器端的任何操作
  1. nodeJS,如下所示:
  • 使用 ECMAScript 语法规范,外加 nodejS API,缺一不可
  • 处理 http,处理文件等,学习 http://nodejs.cn/api/assert.html
  • 两者结合,即可完成 server 端的任何操作
  1. 总结,如下所示:
  • ECMAScript 是语法规范
  • nodeJS = ECMAScript + nodeJS API

三、server 端和前端开发

  1. server 端和前端开发的区别,如下所示:
  • 服务稳定性
  • 考虑内存和 CPU (优化、扩展)
  • 日志记录
  • 安全
  • 集群和服务拆分
  1. 服务稳定性,如下所示:
  • server 端可能会遭受各种恶意攻击和误操作
  • 单个客户端可以意外挂掉,但是服务端不能
  • PM2 做进程守候
  1. 考虑内存和 CPU (优化、扩展),如下所示:
  • 客户端独占一个浏览器,内存和 CPU 都不是问题
  • server 端要承载很多请求,CPU 和内存都是稀缺资源
  • stream 写日志,使用 redissession
  1. 日志记录,如下所示:
  • 前端也会参与写日志,但只是日志的发起方,不关心后续
  • server 端要记录日志、存储日志、分析日志,前端不关心
  • 有多种日志记录方式,以及如何分析日志
  1. 安全,如下所示:
  • server 端要随时准备接收各种恶意攻击,前端则要少很多
  • 如,越权操作,数据库攻击等
  • 登录验证,预防 XSS 攻击和 sql 注入
  1. 集群和服务拆分,如下所示:
  • 产品发展速度快,流量可能会迅速增加
  • 通过扩展机器和服务拆分来承载大流量
  • 从设计上支持服务拆分

猜你喜欢

转载自blog.csdn.net/weixin_42614080/article/details/110675774