web学习笔记(四十五)Node.js

2024-03-26 22:28
文章标签 学习 笔记 web js node 四十五

本文主要是介绍web学习笔记(四十五)Node.js,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1. Node.js

1.1 什么是Node.js

1.2 为什么要学node.js

1.3  node.js的使用场景

1.4 Node.js 环境的安装

1.5 如何查看自己安装的node.js的版本

1.6 常用终端命令

2. fs 文件系统模块

2.1引入fs核心模块

2.2 读取指定文件的内容

2.3  向文件写入指定内容

2.4 创建文件夹 

2.5 判断文件夹是否存在 access accessSync

2.6 删除文件夹 rmdir rmdirSync

2.7 拷贝文件 copyFile copyFileSync

2.8 修改文件名称rename  renameSync

2.9 向文件中追加内容appendFlie appendFlieSync

2.10  删除文件 unlink  unlinkSync


1. Node.js

1.1 什么是Node.js

Node.js是一个开源、跨平台的JavaScript运行时环境。  Node.js内置v8引擎(谷歌研发的引擎)。需要注意的是:浏览器是JavaScript的前端运行环境,node.js是JavaScript的后端运行环境,因此node.js中无法调用dom和bom等浏览器内置的api。

Node.js 的官网地址: https://nodejs.org/zh-cn/icon-default.png?t=N7T8https://nodejs.org/zh-cn/

 

1.2 为什么要学node.js

  1.  node.js目前是很多前端技术的底层语言,基于这些功能,很多工具和框架层出不穷(vue  react-cli)。
  2.  nopde.js是一种可以使用js编写的后端语言。
  3.  node.js是前端工程师的一个加分项。

1.3  node.js的使用场景

1.4 Node.js 环境的安装

       如果希望通过 Node.js 来运行 Javascript 代码,则必须在计算机上安装 Node.js 环境才行。安装包可以从 Node.js 的官网首页直接下载,进入到 Node.js 的官网首页(Node.js — Run JavaScript Everywhere),点击绿色的按钮,下载所需的版本后,双击直接安装即可。推荐使用LTS 为长期稳定版,Current 为新特性尝鲜版,可能会比稳定版多一些功能,但是也会存在隐藏的bug。

  1. 搭建web服务器:Node.js 可以用于构建高性能的 Web 服务器。由于其非阻塞I/O和事件驱动的特性,使得它很适合处理大量并发请求。
  2.  作为中间件服务:API 网关、身份验证和授权中间件、缓存中间件
  3. 后端开发:Node.js 可以作为后端技术栈的一部分,用于构建 RESTful API、处理数据库操作、进行身份验证等任务。

  4. 实时应用程序:Node.js 对于需要实时数据交换的应用程序非常有用,比如在线聊天应用、多人协作工具等。

  5. 微服务架构:Node.js 可以作为微服务架构中的一个组件,每个微服务都可以使用 Node.js 来构建。

  6. 工具开发:Node.js 可以用于开发各种工具和脚本,比如构建工具、自动化测试工具、命令行工具等。

  7. 数据流处理:Node.js 在处理大量数据流时表现出色,比如日志处理、文件上传等场景。

1.5 如何查看自己安装的node.js的版本

  1.  window+R --- 运行cmd---  打开终端---输入node -v,然后按下回车。
  2.  在文件上右击---在文件资源管理器中显示---在地址栏中输入cmd,回车---输入node -v,然后按下回车。
  3.  在文件上右击--在集成终端打开---输入node -v,然后按下回车。

1.6 常用终端命令

  • 使用 ↑ 键,可以快速定位到上一次执行的命令
  • 使用 tab 键,能够快速补全路径
  • 使用 esc 键,能够快速清空当前已输入的命令
  • 输入 cls 命令,可以清空终端

2. fs 文件系统模块

fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。

2.1引入fs核心模块

let fs = require('fs');
console.log(fs);

在 fs 文件系统模块每个操作都是分为异步和同步两种方式,在异步单词的后面加上Sync就是同步操作,在进行同步操作时推荐将代码写入try{}catch{}中,这样即使代码出错也不会影响下面代码的执行。

2.2 读取指定文件的内容

(1) fs.readFile异步读取  (有回调函数的都是异步操作),里面包含三个参数:

 url地址  必选
编码格式utf-8   可选
回调函数错误优先判断(优先判断是否错误)
fs.readFile('./flie/1.txt', (err, data)=>{if (err) return console.log('读取失败' + err.message);console.log(data.toString());
})//或者下面的这种格式,二选一fs.readFile('./flie/1.txt', 'utf-8', (err, data) => {if (err) return console.log('读取失败' + err.message);console.log(data);
})

(2) 同步读取操作   fs.readFileSync()    

let data = fs.readFileSync('./flie/1.txt', 'utf-8');
console.log(data);

2.3  向文件写入指定内容

(1)异步写入  fs.writeFile(),有四个参数:

文件路径 必选
要写入的内容必选  必须是字符串
表示以书名格式写入文件内容默认值是utf-8  可选
回调函数有一个参数  err(错误参数)
fs.writeFile('./flie/1.txt', '啊啊啊', (err) => {// 错误优先if (err) {return console.log('写入失败'+err.message);}console.log('写入成功');
})

(2)同步写入  fs.writeFileSync

 fs.writeFileSync('./flie/1.txt', '下午好');

2.4 创建文件夹 

(1)异步:mkdir

fs.mkdir('yi', (err) => {if (err) return console.log('创建文件夹失败' + err.message);console.log('创建文件夹成功');
});

(2)同步: mkdirSync

try {fs.mkdirSync('er')
} catch (err) {console.log('创建文件夹失败' + err.message);
}

2.5 判断文件夹是否存在 access accessSync

fs.access('er', err => {if (err) return console.log('这个文件夹不存在');console.log('文件夹存在');
})

2.6 删除文件夹 rmdir rmdirSync

fs.rmdir('er', err => {if (err) return console.log('删除失败' + err.message);console.log('删除成功');
})

2.7 拷贝文件 copyFile copyFileSync

fs.copyFile('./flie/1.txt', './yi/2.txt', (err) => {if (err) return console.log('拷贝失败');console.log('拷贝成功');
})

2.8 修改文件名称rename  renameSync

try {fs.renameSync('./yi/2.txt', './yi/1.txt');
} catch {console.log('重命名失败');
}

2.9 向文件中追加内容appendFlie appendFlieSync

try {fs.appendFileSync('./yi/1.txt','\n晚上好')
} catch {console.log('追加失败');
}

2.10  删除文件 unlink  unlinkSync

try {fs.unlinkSync('./er/1.txt')
} catch {console.log('删除失败');
}

这篇关于web学习笔记(四十五)Node.js的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/850055

相关文章

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和