本周我们主要学习了Nodejs相关知识,我也整理了一些相关知识点。
首先呢,我们要了解Nodejs不是一门语言,也不是库,不是框架,而是一个JavaScript运行时环境,也就是说它可以解析和执行JavaScript代码。我们知道,浏览器中的JavaScrip包括EcmaScript(基本语法)、Bom、Dom。浏览器中的JavaScript是没有文件操作能力的,但是Node中的JavaScript具有文件操作能力,node.js中的JavaScrip没有Bom、Dom,而EcmaScript(基本语法)在Node这个JavaSCript执行环境中为JavaScript提供了一些服务器级别的操作API(例如文件的读写、网络服务的构建、网络通信、http服务器等的处理)。Node有以下特性:
event-driven事件驱动
non-blocking I/O model 非阻塞io模型(异步)
编写node主要有以下操作:
1、加载http核心模块(用require方法)
在node中,模块有三种:
1、具名的核心模块,例如fs、http;
2、用户自己编写的文件模块(自定义模块)
相对路径必须加.
相对路径中的./不能省略,否则报错
可以省略后缀名
3、第三方模块
(注意:在node中,没有全局作用域,只有模块作用域外部访问不到内部,内部也访问不到外部默认是关闭的)
2、使用http.createServer()方法创建一个服务器
3、监听request事件
4、绑定端口号,启动服务器
(注意响应内容只能是二进制数据Buffer或者字符串String,因此需要通过
JSON.stringfy(products)将数据转换为字符串形式)
当要拿到被加载文件模块导出的接口对象时(这里需要注意exports和module-exports的区别与联系):
每个文件模块中都提供了一个对象:exports
exports默认是一个空对象
可以把所有需要外部访问的成员挂载到这个exports对象中
这里只是一小部分内容,通过本周学习发现,Nodejs学习过程中一定要长动手敲代码,做案例,不能只是看,这部分内容比较细且多,只有多用才能记得更牢固,不能因为学的东西新而选择放弃,加油!