Node.js第一天
一、学习node.js之前先要了解node.js是什么
首先node.js不是一门语言,也不是库和框架,它是一个javaScript运行时环境,意味着它可以解析和执行javaScript代码,多亏了它javaScript才能完全脱离浏览器运行。
下面引用官网的介绍:
1.在node.js中的javaScript也具有EcmaScript语法但是不处理BOM和DOM,主要是为javaScript提供一些服务器级别的操作API如文件读写,网络服务构建,网络通信,http服务器等处理。
2.node.js由事件驱动,采用非阻塞IO模型(异步),轻量且高效
3.npm是世界上最大的开源库生态系统,node.js绝大多数javaScript相关包都存放在了npm上,以更方便开发人员去下载使用。
二、学习node.js能做什么
学习node.js的目的就是帮助大家打开服务端这个黑盒子
了解了服务器端才能更好地配合服务器端开发人员进行同步开发
三、如何安装node环境
1.下载 https://nodejs.org/en/download/
2.安装 采用傻瓜安装包方式可简单操作,如果已安装重复安装可升级。
3.建立相关环境变量 进入控制面板的高级系统设置,在高级选项中选择环境变量,将node安装路径添加到Path中
4.确认是否安装成功 打开命令行,输入 node --version 或 node -v
四、Hello World
1.创建javaScript脚本文件
2.打开终端,定位到脚本文件所属目录中
3.输入node 文件 执行对应文件
注意:文件名不能用node.js来命名,也最好不要以中文命名
五、构建一个web服务器
1.加载http核心模块
var http = require('http')
2.使用http.createServer()方法创建一个web服务器返回一个Server实例
var server=http.createServer()
3.建立服务器可以做什么
提供服务:发请求、接受请求、处理请求、发出响应、注册request请求事件,当用户发送请求过来,就会自动触发服务器的request请求事件,
然后执行第二个参数:回调处理函数
server.on('request',function(){
console.log('收到客户端的请求了‘)
)}
4.绑定端口号,启动服务器
server.listen(300,function(){
console.log('服务器·启动成功了,可以通过http://127.0.0.1:300/ 来进行访问了’)
)}
六、Node中的JavaScript
1、采用EcmaScript语法,包括变量、方法、数据类型、内置对象如Array、Object、Date、Math等
2、模块系统
*在Node 中没有全局作用域的概念
*只能通过 require 方法来加载执行多个 JavaScript脚本文件
*require 加载只能是执行其中的代码,文件与文件之间由于是模块作用域,所以不会有污染问题,
-模块是完全封闭的
-外部无法访问内部
-内部也无法访问外部
*模块作用域可以加载执行多个文件,完全避免变量命名冲突污染的问题
*但是某些情况下,模块与模块之间要进行通信
*在每个模块中,都提供了一个对象:’exports'
*该对象默认是一个空对象
*你要做的就是把需要被外部访问的成员手动地挂到‘exports'接口对象中
*然后谁来’require'这个模块,谁就可以得到模块内部地‘exports'接口对象
3、核心模块
*核心模块是有Node提供的一个个的具名的模块、它们都有自己特殊的名称标识
-fs文件操作模块
-http网络构建模块
-os操作系统信息模块
-path路径处理模块
*所有核心模块在使用的时候都必须手动的先使用’require'方法来加载,然后才可以使用,例如
-’var fs = require('fs')'
-http
+require
+端口号
& IP地址定位计算机
&端口号定位具体的应用程序
+Content-Type
&服务器·最好把每次响应的数据是什么内容类型都告诉客户端,而且要正确地告诉
&不同的资源对应的 Content-Type 是不一样,具体参照:http://tool.oschina.net/commons
&对于文本类型的数据,最好都加上编码,目的是为了防止中文解析乱码问题
+通过网络发送文件
&发送的并不是文件,本质上发送的文件的内容
&当浏览器收到服务器响应内容之后,就会根据你的Content-Type进行对应的解析处理