初识Node.js|青训营笔记

83 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天

一、本次笔记的重点内容:

  1. node.js简单介绍
  2. 第一个http server————Hello World
  3. 读文件
  4. 写文件

二、简单介绍:

1.Nodejs

Nodejs是一个开源与跨平台 js 运行时环境,使用js语言,我们就不需要再去学习一门新的语言。

Node.js 在浏览器之外运行 V8 JavaScript 引擎(Google Chrome 的内核)

Nodejs运行时环境,不是新的语言、也不是库和框架

Nodejs可以解析并且运行js代码

有了nodejs我们的js代码才可以脱离浏览器在服务端运行

2.浏览器的js

  • ECMAScript
  • DOM
  • BOM

3.Node的js

  • ECMAScript
  • 没有DOM和BOM
  • 在Nodejs环境中,为js提供一些服务器级别的操作api
    • 文件读写
    • 网络通信
    • http服务器
  • Node构建于8引擎
    • chrome 的 V8 引擎是目前公认解析速度最快的引擎
    • Nodejs的作者把V8引擎分离出来,开发了一个独立js运行环境

4.Nodejs特点

  • 事件驱动 通过事件或状态的变化来进行应用程序的流程控制
  • 非阻塞IO模型(异步)

    Nodejs处理请求是单线程,但是在后台有一个I/O线程池

三、知识点+例子:

1.搭建一个简单的http server————hello world

const http = require("http")
const server = http.createServer();

// request:请求信息
// response:响应对象
server.on("request",function(request,response){
    // console.log(request);
    // console.log(response);
    const url = request.url
    // console.log(url);
    console.log("接收到了客户端的请求");
    // 通过response.write()方法响应内容
    // response.write('hello')
    // response.write('node')
    // 需要是response.end()方法 响应
    // 如果响应的信息只有一个,可以直接写在end中
    // end中只接受字符串
    response.end("hello world")
})
server.listen(3000,function(){
    console.log("服务启动成功,运行在 http://127.0.0.1:3000");
})

运行 node + 文件名

效果图:

image.png

2.读文件

首先引入fs模块

const fs = require('fs');

进行读文件操作,在此之前需要先创建需要读取的文件,我这边创建的是01.txt文件

 //使用配置参数,设置默认转换成utf8编码格式
fs.readFile('./01.txt', 'utf8', (err, data) => {
  // 读取文件完成后的回调函数(读写文件是异步操作)
  // err 错误信息,入如果文件读取错误,会返回错误信息,没错就是null
  // data 读取到的数据
  // if用来判断是否读取成功,考虑代码的健壮性,尽量减少可能导致bug的操作
  if (err) {
    console.log('err:', err);
    return;
  }
  // 文件中的数据是采用二进制存储
  // 读取的时候默认会转换成十六进制,所以看不懂,需要转换成文字
  // 第一种:使用toString()转换成文字
  //   console.log('data:', data.toString());
  console.log('data:', data);
});

读取01.txt中的内容

效果图:

image.png

3.写文件

与读文件类似的操作,引入fs模块后进行写文件操作

// 引入fs模块
const fs = require('fs');
// 参数1:路径
// 参数2:数据
// 参数3:回调函数
fs.writeFile('./01.txt', '修改数据', { flag: 'a+' }, err => {
  console.log(err);
  if (!err) {
    console.log('写入成功');
    return;
  }
  console.log(err);
});

同样的, 在创建的文件中进行写入 效果图:

image.png

这样,简单的读写文件操作就完成啦

四、总结:

本次笔记主要去学习了node的一些基本运用,了解了node.js的一些简单介绍,了解了http server,以及课后去了解了读写文件的一些相关知识