1、首先要明白node.js是什么?
1、简单来说node就是运行在服务端的JavaScript.
2、Node.js是一个基于Chrome JavaScript运行时建立的一个环境平台.
3、Node.js 是一个事件驱动的,非阻塞式I/O服务端的JavaScript环境,基于Google的V8引擎。
由于js是属于解释性语言,所以就要需要一个解释器可以吧js翻译成可以执行的二进制代码。
1.1其中关于V8引擎的概念:
1、V8引擎是为了让JavaScript能够被更快速解析和执行而产生的;
2、V8引擎作为一中动态语言运行时平台,需要实现动态语言源程序解析,执行。
更多了解:https://blog.csdn.net/heyeqingquan/article/details/78839699
2、Node能够做些什么?
Node.js是一款可以让JavaScript代码能够在后端执行的一个软件,所以学习了node.js就可以
提供web服务了,即可以执行b/s架构了。
(注)node.js里面只执行ECMA的语法规范,不能执行BOM和DOM;
下面用node.js 来演示编写一个web服务器
2.1、首先必须得明确需求
1、首先先下载好安装node.js,可以直接去官网直接下载;
2、在非默认安装的情况下,需要配置好运行环境(避免出现错误推荐默认安装,嘻嘻);
3、了解node.js的内置的提供的核心模块之(HTTP模块),其主要的作用是处理网络客户端的请求;
4、端口号的范围 1-65535都是可以使用的范围,但是建议使用1024以上的端口,在nodejs不写,默认在3000端口。
以下是node.js编写的简单的web服务器:
3、那什么是服务器呢?
服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
4、Node.js内置的常用的六大模块功能介绍:
1、http模块:处理网络中客户端的请求;
2、url模块:处理从客户端传送过来的url地址;
3、query-strings 模块:用于获取从客户端通过get/或者post请求的方式传送过来参数处理;
4、file system 模块:主要作用是在与文件上传,即可以在服务端操作和读取文件;
5、path模块:用来操作文件的路径;
6、global模块:因为global是全局共享的,所以无需用require引入即可使用。
注意:在node.js中没有window对象,但存在一个与之对应 的对象,就是global全局对象。
其常用的属性:
—dirname:文件所在的文件夹的路径。
_filename:文件所在的路径
module.exports:多用于向外界暴露接口
5、Node.js模块化学习:
1、什么是模块化?
模块化是通过划分区域进行管理,在编程的时候,划分成多个子文件夹对代码进行管理,做到每一个功能独立成一个模块,一般这样处理不会出现牵一发而动全身的情况。
2、Node.js是遵循Commonjs的规范的,关于Commonjs的规范简介。
1、一个文件就是一个模块,而每一个模块里面的成员都是私有的,彼此之间不会受到影响;
2、单个模块里面的成员要想能够被其他模块使用,就必须要把之暴露出去(exports或者module.exports);
3、要是要使用其他模块,就必须先导入这个该模块require();
3、模块化的特点
作用域独立