总结

node.js是什么

  • JavaScript运行时
  • 既不是语言,也不是框架,他是一个平台

node.js中的JavaScript

  • 没有DOM。没有BOM。
  • EcmaScript基本的JavaScript语言部分
  • 在node中为JavaScript提供了服务器级别的API
  • 文件操作能力
  • http服务能力

node中的JavaScript

Ecmascript

  • 变量
  • 方法
  • 数据类型
  • 内置对象
  • Array
  • object
  • Math

模块系统

  • 在node中没有全局作用域的概念
  • 在node中可以通过require方法来加载执行多个JavaScript脚本文件
  • require加载只能是执行其中的代码,文件与文件之间由于是模块作用域,所以不会有污染的问题
  • 模块完全是封闭的
  • 外部无法访问外边
  • 外边也无法访问内
  • 模块作用域固然带来了一些好处,可以加载执行多个文件,可以完全避免变量命名冲突
  • 但是某些情况下模块是需要模块与模块之间的通信的
  • 在每一个模块中,都提供了一个对象:exports
  • 该对象是默认一个空对象
  • 你要做的是把需要被外部访问使用的成员手动的挂载到exports,接口对象中
  • 然后谁来require这个模块,就可以得到这个模块内部的exports接口对象

核心模块

  • 核心模块是由node提供的一个个具名的模块,他们都有自己特殊的名称标识,例如:
  • fs文件操作模块
  • http网络服务构建模块
  • os操作系统信息模块
  • path路径处理模块
  • ………………
  • 所有的核心模块在使用的时候都必须手动的先使用require方法来加载
  • var fs = require(‘fs’)
  • HTTP
  • require
  • 端口号
  • IP地址定位计算机,端口号定位具体的应用程序
  • content-Type
  • 服务器最好把每次的响应的数据是什么内容类型都正确告诉客户端
  • 对于文本类型最好都加上编码,防止解析乱码
  • 通过网络发送文件
  • 发送的不是文件,本质上是发送是文件的内容
  • 当浏览器收到服务器响应内容户后,就会根据呢的content-type来解析处理.