node.js的初步学习

那什么是node.js呢? 和JavaScript又是什么关系呢?

  1. node.js 提供了 JavaScript的运行环境。
  2. 当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行
  3. 当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行
Node.js 可以做什么?
  1. node.js作为一个JavaScript的运行环境,提供了基础的功能和API:(基于node.js衍生了很多框架)

  2. Express框架 (快速构建web应用)

  3. Electron 框架 (快速构建跨平台的桌面应用)

  4. restify 框架 (快速构建API接口项目)

  5. 读写操作数据库,创建实用的命令行工具辅助前端开发

读取文件

  1. 浏览器中的js没有文件操作的能力的

    但是node中的js具有文件操作的能力

  2. fs是 FileSystemde 的简写,文件系统的意思

    在node中进行文件操作,就必须引入fs核心模块

    fs核心模块 ,提供了所有文件操作的相关API

例如:fs.readFile方法读取文件

  1. require方法加载fs核心模块
    var fs=require('fs')
  2. 读取文件
    第一个参数读取文件路径
    第二个参数是一个回调函数
  3. error
    如果读取失败,error就是错误对象
    如果读取成功,error就是null
  4. date
    如果读取失败,date就是untifined(没有数据)
    如果读取成功,date就是读取到的数据
javascript 复制代码
fs.readFile('./hello.tex',function(error,date){
    // 默认存储的是2进制,然后转化为16进制
  //  <Buffer 68 65 6c 6c 6f 2c 77 6f 72 6c 64 21 21 21>
  //  通过toString方法把其转化为认识的字符
    console.log(date);
   console.log(date.toString());
复制代码
// 注释:通过判断 error 是否存在,确认文件读取是否出错
javascript 复制代码
if (error) { 
  // 如果 error 有值(说明读取失败),打印错误提示
  console.log('读取文件失败了')  
} else { 
  // 如果 error 为 null(说明读取成功),打印文件内容(data 是文件内容的 Buffer/字符串)
  console.log(data.toString())  
}
})

写文件

  1. 写文件
    第一个参数:文件路径
    第一个参数:文件内容
    第二个参数:回调函数
  2. error
    1. 成功:error就是null
      文件写入成功
    2. 失败:error就是错误对象
      文件写入失败
javascript 复制代码
var fs=require('fs')
fs.writeFile('./你好.md','大家好,我是node',function(error){
     console.log('成功')
})

request

  1. request请求事件处理函数,接受2个参数:

    1. Request请求对象
      请求对象可以用来获取客户端的一些请求信息,例如请求路径
    2. Request响应对象
      响应对象可以给客户端发送响应消息
  2. respose对象有一个方法:write 可以用来给客户端发送响应数据

    write可以使用多次,但最后一定要用end来结束响应。否则客户端一直响应

javascript 复制代码
var http=require('http');
var server=http.createServer();
server.on('request',function(request,response){
console.log('收到请求,请求路径为'+request.url)

response.write('hello')
response.write('node')
response.end()
})
server.listen(3000,function(){
    console.log('启动成功,通过http://127.0.0.1:3000/访问')
}) 

url

根据不同的请求路径发送的不同的响应结果

  1. 获取请求路径
    response.url获取端口后的的那一部分路径
    也就是说所有的url都以 /开头
  2. 判断路径返回响应
javascript 复制代码
var http=require('http')
var server=http.createServer()
server.on('request',function(request,response){
console.log(request.url)

// response.end('hello,node')


// response.write('hello')
// response.write('node')
// response.end()

var url=request.url
if(url==='/'){
    response.end('index paga')
}else if(url==='/login'){
    response.end('login paga')
}else if(url==='/products'){
    // 设置响应头:明确使用 UTF-8 编码的 JSON
    response.setHeader('Content-Type', 'application/json; charset=utf-8');
    var products=[
        {
        name:'苹果',
        price:888,
        } ,{
        name:'荔枝',
        price:9999,
        }
    ]
      response.end(JSON.stringify(products))
}else{
     response.end('404')
}
})
server.listen(80,function(){
    console.log('...')
})

http

核心模块 http

http帮你创建编写服务器的

  1. 加载http模块

    var http=require('http')

  2. 使用http。createServer()方法创建一个Web 服务器

    返回一个Server实例

javascript 复制代码
var server=http.createServer();

3.提供服务

  1. 发请求

  2. 接受请求

  3. 处理请求

  4. 给个反馈(发送响应)

当客户端请求过来时,就会自动触发request 请求事件,然后执行第2个参数:回调函数

javascript 复制代码
server.on('request',function(){
console.log('收到请求')
})

4.绑定端口号,启动服务器

javascript 复制代码
server.listen(3000,function(){
    console.log('启动成功,通过http://127.0.0.1:3000/访问')
}) 
相关推荐
代码游侠5 分钟前
学习笔记——HC-SR04 超声波测距传感器
开发语言·笔记·嵌入式硬件·学习
军军君0119 分钟前
Three.js基础功能学习七:加载器与管理器
开发语言·前端·javascript·学习·3d·threejs·三维
知识分享小能手31 分钟前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04中的人工智能—— 知识点详解 (25)
人工智能·学习·ubuntu
崇山峻岭之间32 分钟前
Matlab学习记录32
开发语言·学习·matlab
雪域迷影33 分钟前
Node.js中使用node-redis库连接redis服务端并存储数据
数据库·redis·node.js
乌暮1 小时前
JavaEE初阶---《JUC 并发编程完全指南:组件用法、原理剖析与面试应答》
java·开发语言·后端·学习·面试·java-ee
CCPC不拿奖不改名1 小时前
计算机网络:电脑访问网站的完整流程详解+面试习题
开发语言·python·学习·计算机网络·面试·职场和发展
左绍骏1 小时前
01.学习预备
android·java·学习
非凡ghost1 小时前
ImageConverter(图像转换编辑工具)
图像处理·人工智能·windows·学习·计算机视觉·软件需求
@zulnger1 小时前
python 学习笔记(闭包)
笔记·python·学习