node.js教学(春节假期学习日记之Nodejs)
node.js教学(春节假期学习日记之Nodejs)Node的作者是做服务器优化的,他创造NodeJS的目的是为了实现高性能Web服务器,写Node的时候,Ryan Dahl曾经评估过C、Lua、Haskell、 Ruby等语言作为备选实现,相比之下,JavaScript比C的开发门槛要低,比Lua的历史包袱要少。尽管服务器端JavaScript存在已经很多年了,但是后端部分一直没有市场,可以说历史包袱为零,为其导入非阻塞I/O库没有额外阻力。 随着Node的发展,Node作用逐渐广泛起来,已经不仅仅局限于做服务器了,还能做一些前端好用的工具,像Gulp。02. Node.js起源05. server端开发与前端开发的区别06. node.js的安装01. Javascript起源
目录01. Javascript起源
02. Node.js起源
03. ECMAScript、浏览器中的Javascript、Node中的Javascript
04. 什么是Node.js
05. server端开发与前端开发的区别
06. node.js的安装
正文01. Javascript起源
- 首先,诞生是网景公司为了验证表单,创造了Javscript。
- 之后,网景和微软的浏览器大战,微软击败了网景,但是ECMAScript规范诞生了。
- 此时,js主要活跃在浏览器端,进行一些特效、表单验证、弹出小广告
- 再之后,chrome推出了一款性能强大的JavaScript引擎,V8引擎,2012年3月18日,来自 StatCounter 数据显示谷歌的 Chrome 浏览器全球份额首次超过微软的 IE 浏览器,虽然仅保持了一天,但是这是具有重大意义的。
02. Node.js起源
Node的作者是做服务器优化的,他创造NodeJS的目的是为了实现高性能Web服务器,写Node的时候,Ryan Dahl曾经评估过C、Lua、Haskell、 Ruby等语言作为备选实现,相比之下,JavaScript比C的开发门槛要低,比Lua的历史包袱要少。尽管服务器端JavaScript存在已经很多年了,但是后端部分一直没有市场,可以说历史包袱为零,为其导入非阻塞I/O库没有额外阻力。 随着Node的发展,Node作用逐渐广泛起来,已经不仅仅局限于做服务器了,还能做一些前端好用的工具,像Gulp。
03. ECMAScript、浏览器中的Javascript、Node中的Javascript
- ECMAScript是语法规范,如for、分支判断、如何定义变量等,规范只是具体的规定而已,不能用规范来进行任何实际的项目开发或代码编写。
- 浏览器中的Javascript是ECMAScript规范的一种实现,能够使用浏览器中的Javascript进行编程 他的组成:DOM BOM ECMAScript
- Node中的Javascript,也是一种实现,它的组成:ECMAScript 核心模块 其他API。由于Node主要是做服务器端开发的所以剔除了DOM和BOM,而在Node中,相比于浏览器,又新增了网络API、操作文件的API等。
04. 什么是Node.js
- Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
- Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
- Node.js 的包管理器 npm,是全球最大的开源库生态系统。
05. server端开发与前端开发的区别
稳定性
- server端可能会遭受各种恶意的攻击和误操作
- 单个客户端可以意外挂掉,但是server端不能
CPU和内存
- 客户端独占一个浏览器,内存和cpu不是问题
- server端承载很多的请求,CPU和内存都是稀缺资源
日志记录
- 前端也会参与写日志,但只是日志的发起方,不关心后续
- server端要记录日志、存储日志、分析日志,而这些前端不需要关心
安全
- server端要随时准备接收各种恶意攻击如越权操作、数据库攻击等,而前端较少
集群与服务拆分
- 产品发展速度快,浏览量可能会增加,如何通过扩展机器和服务拆分来承载大流量
06. node.js的安装
- 查看是否已经安装
//查看是否已安装
node -v
npm -v
- 第一种,直接登录nodejs官网下载最新版本,安装即可
- 第二种,通过nvm安装多个版本
//nvm ,nodejs版本管理工具 可切换多个nodejs版本
//github 搜索 nvm-window Download the latest installer from the releases
//查看当前所有node版本
nvm list
//安装指定版本
nvm install v10.13.0
//切换到指定版本
vm use --delete-prefiex 10.13.0
写在最后
今天是自己春节假期的第一天,也是开始学习nodejs第一篇笔记,内容或许不多,但是自己每天都在成长,上面的内容都是手敲,可能有手误的地方,也可能有错误的地方,希望大家一起指正和见谅,如果喜欢的话,麻烦点个赞加个关注。最后,希望与每一个努力的人同行,一起成长一起加油!