Node.js 学习指南(自用)
Node.js 后端工程师学习路线推荐
Node.js 后端工程师学习路径 https://github.com/tuture-dev/nodejs-roadmap
一杯茶的时间,上手 Node.js https://tuture.co/2019/12/03/892fa12/
狼叔:如何正确的学习Node.js https://i5ting.github.io/How-to-learn-node-correctly/
Nodejs技术栈 https://www.nodejs.red/#/
Nodejs是什么?
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。(一种javascript的运行环境,能够使得javascript脱离浏览器运行。)
JavaScript作为一门编程语言,并不是只有浏览器才能使用的。而浏览器之所以可以解析JavaScript是因为浏览器的内核内嵌了一个JavaScript运行环境。正如Java依赖于JVM这个运行环境来运行Java代码一样,只要有JavaScript的运行环境,就能运行JavaScript代码。而Node.js就是这么一个JavaScript运行环境。
因此,一个基于Nodejs的项目既可以用来写客户端程序,也可以用来写服务端程序。
传统项目目录
在传统的html+css+js客户端开发模式下,我们一般会看到下图这样的目录结构
在传统项目中,我们对于一个页面的理解就是基于一个物理存在的html文件。
Node.js项目目录
而在Node.js的开发模式下,一个项目的目录结构通常是如下图这样的
- 有一个html文件入口
- 至少有一个js文件被入口html所引用
- 有一个package.json文件用来生成依赖项
- 有一个node_modules文件夹存放依赖项
上图是来自于github的一个最简单的聊天室页面应用案例https://github.com/socketio/chat-example
从github截图可见,在github上的文件要比刚才的截图的文件与文件夹数量更少。这也是让初学者无比困惑的地方:
所有的Nodejs项目拉到本地后,并不像传统开发模式那样直接用浏览器访问html文件就能访问。而是要
- 先在本地电脑安装Nodejs环境,
- 然后在项目目录下先运行npm install 安装项目依赖,
- 再通过npm start启动Nodejs服务端,
- 最后通过浏览器来访问Nodejs的服务
从而实现对页面的访问。
在Nodejs的开发模式下,由于引入了js模块化管理的概念,同时也引入了“打包”的概念,因此一个真实的客户端项目往往是以一个SPA(单页应用)的形式存在,目录结构大致如下图
Nodejs的服务端项目的目录结构长什么样?
我们以github上著名的http://socket.io项目为例:https://github.com/socketio/socket.io
把项目clone到本地后,按项目说明安装依赖后,我们就可以看到一个简单的项目结构了。
总体而言,理解了Nodejs客户端项目的目录结构,再理解服务端的目录结构就是小菜一碟了。
文档查看地址
经过长时间的摸索,关于JS的API文档可以总结为三大类:
第三方类库的API参考文档,参考类库官网,例如http://socket.io