node

 Node.js介绍

Node.js不是一门语言,不是库或者框架。Node.js是一个JavaScript运行时环境。Node.js可以解析和执行JavaScript代码。

以前只有浏览器可以解析执行Javascript代码,现在在Javascript可以完全脱离浏览器来执行,这要归功于Node.js。

浏览器中JavaScript组成

l   EcmaScript :基本语法、if、var、function、Object、Array

l   DOM

l   BOM

Node.js中的JavaScript

l   没有BOM和DOM,只有EcmaScript

l   在Node.js这个JavaScript执行环境中为JavaScript提供了一些服务器级别的操作API,例如:文件读写、网络服务构建、网络请求与响应等。

其实node学习相当于在学习后台服务处理开发,只不过后台服务编程使用的是JavaScript语言而已。

l   特性:事件驱动、非阻塞I/O模型(简单说就是异步操作)、轻量高效。随着学习的深入大家会明白这些特性的。

l   npm是世界上最大的Node.js开源库生态系统,用来管理JavaScript相关的包。这样的目的是为了更方便的让开发人员使用它。

Node.js能够做什么

l   Web服务器后台

l   命令行工具:例如,npm、git、webpack等

l   前端工程师接触node最多的是命令行工具,一般很少自己写,主要使用别人写好的第三方包

node 模块分为三类  
1核心模块(就是自带的) 
2 自定义模块(自己写的) 
3 第三方模块(一般是导入后直接使用)
使用核心模块
1引入
2使用 fs.readFile(参数一是文件路径,参数二回调函数(错误信息,数据(buffer类型)))
高内聚低耦合          (模块化就是按照功能划分)
 
http
// 引入http
let http = require("http")

// 1创建服务
let serve = http.createServer()
// 2,事件监听
serve.on("request", function (request, response) {
    console.log("接受到请求");
    console.log(request.url);
    if (request.url == "/login") 
  response.setHeader("Content-Type", "text/html;charset=utf-8")  【解决乱码】
        response.end("登录")
    } else {
        response.end("404")
    }

})
// 3、监听端口
serve.listen(3333, function () {
    console.log("runing");
})

详细讲解  构建合同谈判.js

 

 1. 加载http核心模块
var http = require(‘http‘)

2.使用http.createServer()方法创建一个Web服务器,返回一个Server实例
var server = http.createServer()

服务器是干嘛的?
// 提供服务:对数据的服务
// 发请求
// 接收请求
// 处理请求
// 给个响应

3. 注册request请求事件
// 还记得刚才说的node.js的特性:事件驱动么。就是这种用法
// 还记得刚才说的ode.js的特性:回调函数么。就是第二个参数的用法

request 请求事件处理函数,需要接收两个参数。
request  请求对象
//      请求对象可以用来获取客户端的一些请求信息,例如:请求路径
//  Response 响应对象
//      响应对象可以用来给客户端发送响应消息
server.on(‘request‘, function (request, response) {
    // http://localhost:3000/   /
    // http://localhost:3000/a  /a
    console.log(‘收到客户端的请求了,请求路径是:‘ + request.url)

    // response对象有个方法:write可以用来给客户端发送响应数据
    // write 可以多次使用,但不结束响应
    // end 只用一次,就结束响应了。在请求完的时候,我们是需要响应回去的。
    response.write(‘hello ‘)
    response.write(‘world ‘)
    response.end(‘good, good!!!‘) // 如果没有写end,客户端会一会转圈圈
})

4. 绑定端口号,启动服务器
server.listen(3000, function () {
    console.log(‘服务器启动成功了,可以通过浏览器访问http:localhost:3000发请求了‘)
})

 

 

 

 

 

 

 

node

上一篇:[LeetCode] 1980. Find Unique Binary String


下一篇:LeetCode题解2 两数相加