Node.js 第一天
上午总结
1、Node.js是什么?
是一个解析js代码的平台
2、Node.js中的 JS
- ECMAScript基本的JavaScript 语言部分
- 在 Node 中为JavaScript 提供了一些服务器级别的API
*文件操作能力
*http服务的能力
3、安装Node环境
打开命令行,输入node -v
4、解析执行JavaScript
- 创建编写JavaScript脚本文件
- 打开终端,定位到脚本文件所属目录
- 输入node 文件名 执行对应的文件
注意文件名不能是:node.js
举例:HelloWorld.js
一天总结
Node中的JavaScript
(1)ECMAScript
变量
方法
数据类型
内置对象
Array
Object
Date
Math
(2)模块系统
在Node中 没有全局作用域的概念。
在Node中 只能通过require方法来加载执行多个js脚本文件。
- require 加载只能是执行其中的代码,文件与文件之间由于是模块作用域,所有不会有污染问题:
- 模块完全是封闭的。
- 外部无法访问到内部。
- 内部也无法访问到外部
模块作用域固然带来了一些好处,可以加载执行多个文件,可以完全避免变量命名空间污染的问题。
但是某些情况下,模块与模块需要进行通信的。
在每一个模块(js文件)中,都提供了一个对象 ‘exports’。
该对象默认是一个空对象。
你要做的就是把需要被外部访问使用的成员手动的挂载到 ‘exports’ 接口对象中。
然后谁来 ‘require’ 这个模块,谁就能得到模块内部的 ‘exports’ 接口对象。
还有其它一些规则,具体后面讲,以及如何在项目中去使用这种编程方式,会通过后面的案例去进行处理。
(3) 核心模块
核心模块是由Node提供的一个个具名模块,它们都有自己特殊的名称标识,例如:
- fs文件操作模块
- http 网络服务构建模块
- os 操作系统模块
- Path 路径处理模块
…
所有核心模块在使用的时候都必须手动的先使用 ‘require’ 方法来加载,然后可以使用,例如:
‘var fs = require(‘fs’) ’
http
(1)require
(2)端口号
- ip地址定位端口号
- 端口号定位具体程序
(3)Content-Type
- 服务器最好把每次把响应的数据是什么内容类型都告诉客户端,而且要正确的告诉
- 不同资源对应的Content-Type是不一样的,具体参照:https://tool.oschina.net/commons
- 对于文本类型的数据,最好都加上编码,目的是为了防止中文解析乱码问题
(4)通过网络发送文件
- 发送的并不是文件,发送的是文件内容
- 当浏览器收到服务器响应内容之后,就会根据你的 Content-Type 进行对应的解析处理
后续学习内容:
-模块系统
-Node中的其它核心模块
-做一个小管理系统
+CRUD
-Express Web开发框架