Node相关知识整理

一、Node.js 是什么?

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

二、Node.js 中的 JavaScript

  • 没有 BOM、DOM
  • EcmaScript 基本的 JavaScript 语法部分
  • 在 Node 中为 JavaScript 提供了一些服务器级别的 API(文件操作的能力、http服务的能力…)
  • EcmaScript
    1、变量
    2、方法
    3、数据类型
    4、内置对象
    5、Array
    6、Object
    7、Date
    8、Math

三、模块系统

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

四、核心模块

  • 核心模块是由 node 提供是一个个的具名的模块,它们都有自己特殊的名称标识,例如:fs 文件操作模块、http 网络服务构建模块、os 操作系统信息模块、path 路径处理模块…
  • 所有核心模块在使用的时候,都必须手动的先使用require方法来加载,然后才可以使用,例如:var fs = require("fs");

五、http

  • require
  • 端口号
    1、ip 地址定位计算机
    2、 端口号定位具体的应用程序
  • Content-Type
    1、服务器最好把每次响应的数据是什么内容类型都告诉客户端,而且要正确的告诉
    2、不同的资源对应的Content-Type是不一样的,具体参照:HTTP Content-Type 对照表
    3、对于文本类型的数据,最好都加上编码,目的是为了防止中文解析乱码的问题
  • 通过网络发送文件
    1、发送的并不是文件,本质上来讲发送是文件的内容
    2、当浏览器收到服务器响应内容之后,就会根据你的 Content-Type 进行对应的解析处理
发布了174 篇原创文章 · 获赞 76 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_44034384/article/details/99707417