加载中...

Node.js 学习的记录过程

1.了解Node.js

稀土掘金地址:https://juejin.cn/post/7042325222036340767

1.1 Node.js的初始了解

Node.js 是一个非常新兴的开发工具,它诞生自 2009 年,年龄远不如 Python、Ruby、PHP 等老大哥,但是它确实有史以来发展最快的开发工具,没有之一。在这短短的几年间,我们看到了 Node.js 从当初的一无所有到如今的飞速发展,这是没有任何其他开发工具能够媲美的。

  • 谁创造了Node.js

Ryan Dahl,网名 ry,他就是 Node.js 的亲爹。

  • Node.js 名字由来

Node.js 最开始叫 【Web.js】(发布之前),后来因为 API 设计越来越庞大,ry 和他的团队感觉 Web.js 太过于狭隘了,就有了现在的Node.js。

  • Node.js 什么时候发展最快

API 开始大面积进入 Stable 和 Locked 状态时,大批开发者开始使用 Node.js 干各种事情,这个区间是 v0.6~v0.8 之间。Joyent 公司收购了 Node.js 原开发团队也是推动力之一。

  • npm 是怎样的一种存在

npm 是一家独立的公司,由它的发明者 Issac 建立,是如今世界上最大的包管理平台之一,也是发展最快的一个。目前已有 210,081 个模块,每天下载次数达到 83,000,000+ 次

1.2 Node.js的发展历程

  1. 混沌期:发布初期,创始人 Ryan Dahl 带著他的团队开发出了以 Web 为中心的“Web.js”,一切都是非常混乱,API大多都还除外研究阶段。
  2. 成长期:Node.js 的核心用户 Isaac Z. Schlueter 开发出奠定了 Node.js 如今地位的重要工具--npm。同时也为他后来成为 Ryan 的接班人的重要条件。
  3. 高速期:connect, express, socket.io 等库的出现吸引了一大波爱好者加入到 Node.js 开发者的阵营中来。CoffeeScript 的出现更是让不少 Ruby 和 Python 开发者找到了学习的理由。期间一大波以 Node.js 作为运行环境的 CLI 工具涌现,其中不乏有用于加速前端开发的优秀工具,如 less, UglifyJS, browserify, grunt 等等。Node.js 的发展势如破竹。
  4. 更迭期:经过了一大批一线工程师的探索实践后,Node.js 也开始进入了时代的更迭期,新模式代替旧模式,新技术代替旧技术,好实践代替旧实践。ES6 也开始出现在 Node.js 世界中。
  5. 分裂期:ES6 的发展越来越明显,v8 也对 ES6 中的部分特性实现了支持,如 Generator 等等,利用 --harmony 作为开启阀门。后来,诞生了 Io.js 分支,再后来也回到了 Node.js 主线上。
  6. 飞速发展期:随著 ES2015 的发展和最终定稿,一大批利用 ES2015 特性开发的新模块出现,如原 express 核心团队所开发的 koa

2.学习 Node.js 可以做什么

2.1 学习Node.js的目的

● 学习Node.js是为了解前后端交互流程

● 同时为后面学习前端框架做准备

● 前端有很多业务不能解决,需要使用Node.js处理

2.2 Node.js的特点

● 单线程

● 非阻塞I/O

● 事件驱动

● 用的是Ecmascript语法,降低学习及开发成本

2.3 Node.js的应用场景

● Web服务API(开发接口)

● 后端的Web服务,例如跨域、服务器端的请求

● 基于Web的动态网站应用

● 多客户端的通信,如即时通信

● 不适合密集型的CPU应用


3.Node.js 下载与安装

3.1 Node.js 下载教程

- 进入官网,如图:

微信图片_20211216201559.png

微信图片_20211216201849.png

- 安装教程 如图:

下一步1.png

下一步2.png

  • 到这一步,就可以一直Next就行
- 测试Node.js 是否安装成功
  1. 按键盘的window键(window图标)+R 即可打开运行对话框,输入cmd命令,打开命令窗口
  2. 输入node -v 若出现版本号,说明安装成功。如图:

微信图片_20211216230544.png


4.Node.js 常用的cmd命令

  • cd 切换运行目录
  • dir 查看目录下所有文件
  • cls 清空屏幕
  • md 创建文件夹
  • rd 删除文件夹

。。。待更新


5.Node.js 顶级对象和全局变量

- 顶级对象问题
  • 在JavaScript中,window是顶级对象,但是在node.js中global是顶级对象
  • 一种自适应顶级对象应用而生,globalThis 可以自动判断是window顶级对象还是node.js顶级对象。
- 全局变量问题

Node.js 平台内置了:

  • __filename 和 __dirname等全局变量
//都是获取当前文件目录位置
console.log(__filename); //E:\WEB\web前端\node_js\day-01\code\day.js 包含本身文件
console.log(__dirname); //E:\WEB\web前端\node_js\day-01\code 不包含本身文件
  • setInterval() 和 setTimeout()等方法
setInterval(()=>{
    console.log('我是循环定时器');
},1000) //每一秒都会执行一次
setTimeout(()=>{
    console.log('我是循环定时器');
},1000) //一秒后执行一次

内容持续更新中...

posted @ 2021-12-16 23:45  A-man  阅读(89)  评论(0)    收藏  举报