前端全栈学习第十八天-node-第一天

好吧中间跳过了好多,因为做了几个项目。所以博客直接到了node,写完node,vue.开始分享项目

## node.js是什么

##node.js中的javascript

##系统模块

##核心模块

##http

# Node.js 第1天

## 上午总结

- Node.js 是什么
  + JavaScript 运行时
  + 既不是语言,也不是框架,它是一个平台

-Node.js特点

node.js是一个专注于实现高性能web服务器优化的专家,他的哲学理念是与其一堆服务员闲着,不如让一个服务员累死,这与他底层是chrom V8引擎密不可分,采用了事件驱动,非阻塞I/O模型。

同步I/o: 当系统遇到遇到一个需要耗费大量时间去做的事情时候,选择等死

异步I/o:当系统遇到遇到一个需要耗费大量时间去做的事情时候,不等死,先做后面的事,等耗时的事情昨完之后,执行回调函数,

- Node.js 中的 JavaScript
  + 没有 BOM、DOM
  + EcmaScript 基本的 JavaScript 语言部分
  + 在 Node 中为 JavaScript 提供了一些服务器级别的 API
    * 文件操作的能力
    * http 服务的能力

## 总结

- Node 中的 JavaScript
  + EcmaScript
    * 变量
    * 方法
    * 数据类型
    * 内置对象
    * Array
    * Object
    * Date
    * Math
  + 模块系统
    * 在 Node 中没有全局作用域的概念
    * 在 Node 中,只能通过 require 方法来加载执行多个 JavaScript 脚本文件
    * require 加载只能是执行其中的代码,文件与文件之间由于是模块作用域,所以不会有污染的问题
      - 模块完全是封闭的
      - 外部无法访问内部
      - 内部也无法访问外部
    * 模块作用域固然带来了一些好处,可以加载执行多个文件,可以完全避免变量命名冲突污染的问题
    * 但是某些情况下,模块与模块是需要进行通信的

(两种方式进行暴露)

这里需要注意,用require加载来的文件,必须加./而且后面的后缀,可以不加
    * 在每个模块中,都提供了一个对象:`exports`
    * 该对象默认是一个空对象
    * 你要做的就是把需要被外部访问使用的成员手动的挂载到 `exports` 接口对象中
    * 然后谁来 `require` 这个模块,谁就可以得到模块内部的 `exports` 接口对象
    * 还有其它的一些规则,具体后面讲,以及如何在项目中去使用这种编程方式,会通过后面的案例来处理
  + 核心模块
    * 核心模块是由 Node 提供的一个个的具名的模块,它们都有自己特殊的名称标识,例如
      - fs 文件操作模块
      - http 网络服务构建模块
      - os 操作系统信息模块
      - path 路径处理模块
      - 。。。。
    * 所有核心模块在使用的时候都必须手动的先使用 `require` 方法来加载,然后才可以使用,例如:
      - `var fs = require('fs')`

fs具体模块加载

http模块

 

 


- http
  + require
  + 端口号
    * ip 地址定位计算机
    * 端口号定位具体的应用程序
  + Content-Type
    * 服务器最好把每次响应的数据是什么内容类型都告诉客户端,而且要正确的告诉
    * 不同的资源对应的 Content-Type 是不一样,具体参照:http://tool.oschina.net/commons
    * 对于文本类型的数据,最好都加上编码,目的是为了防止中文解析乱码问题
  + 通过网络发送文件
    * 发送的并不是文件,本质上来讲发送是文件的内容
    * 当浏览器收到服务器响应内容之后,就会根据你的 Content-Type 进行对

应的解析处理

- 模块系统
- Node 中的其它的核心模块
- 做一个小管理系统:
  + CRUD
- Express Web 开发框架
  + `npm install express`

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值