首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Node.js安装及文件的读写

Node.js安装及文件的读写

作者头像
兮动人
发布于 2021-06-11 11:21:26
发布于 2021-06-11 11:21:26
1.4K00
代码可运行
举报
文章被收录于专栏:兮动人的博客兮动人的博客
运行总次数:0
代码可运行

文章目录

2.1.安装Node环境·查看当前Node环境的版本号

  • 下载: https://nodejs.org/en/download/
  • 安装
    • 傻瓜式的一路next就可以了
    • 对于已经安装过的,重新安装就会升级
  • 确认Node环境是否安装成功
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node -v
或
node --version
  • 环境变量

2.2.Hello World

  1. 创建编写JavaScript脚本文件
  2. 打开终端,定位到脚本文件所属目录
  3. 输入node文件名执行对应的文件

注意:文件名不要使用node.js 来命名,否则执行 node 文件名 会打开文件。也就是说除node这个名字你随便起,而且最好也不要使用中文。

案例1:新建名为00-helloworld.js的文件,写入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var foo = 'hello nodejs'

console.log(foo)
  • cmd窗口输出或gitbash或vscode自带的终端执行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node 00-helloworld.js

案例2:没有DOM和BOM

  • 在 Node 中,采用 EcmaScript 进行编码
  • 没有 BOM、DOM
  • 和浏览器中的 JavaScript 不一样
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
console.log(window)
console.log(document)
  • 这里的报错信息类似于浏览器后台中的报错(F12那里的),这里报错是:引用错误,Window没有定义
  • 在node中是没有DOM和BOM的
  • 解析执行JavaScript
  • 读写文件
  • http

案例3:读取文件

  • 浏览器中的 JavaScript 是没有文件操作的能力的
  • 但是 Node 中的 JavaScript 具有文件操作的能力
  • fs 是 file-system 的简写,就是文件系统的意思
  • 在 Node 中如果想要进行文件操作,就必须引入 fs 这个核心模块
  • fs 这个核心模块中,就提供了所有的文件操作相关的 API
  • 例如:fs.readFile 就是用来读取文件的
  1. 使用 require 方法加载 fs 核心模块
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fs = require('fs')
  1. 读取文件
    • 第一个参数就是要读取的文件路径
    • 第二个参数是一个回调函数
      • 成功
        • data 数据
        • error null
      • 失败
        • data undefined没有数据
        • error 错误对象
  • error 如果读取失败,error就是错误对象 如果读取成功,error就是null
  • data 如果读取成功,data就是读取到的数据 如果读取失败,error就是错误对象
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fs.readFile('./data/hello.txt', function (error, data) {
	console.log(data)
})
  • 在新建的 hello.txt 文件中写入
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hello nodejs
你好,Node.js
  • 执行 node 02-读取文件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fs = require('fs')
fs.readFile('./data/hello.txt', function (error, data) {
	console.log(data)
})
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Buffer 68 65 6c 6c 6f 20 6e 6f 64 65 6a 73 0d 0a 0d 0a>
  • 文件中存储的其实都是二进制数据 0 1
  • 这里为什么看到的不是 0 和 1 呢?原因是二进制转为 16 进制了
  • 但是无论是二进制01还是16进制,人类都不认识
  • 所以我们可以通过 toString 方法把其转为我们能认识的字符
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fs = require('fs')
fs.readFile('./data/hello.txt', function (error, data) {
	console.log(data.toString())
})
  • 执行 node 02-读取文件

案例4:写文件

  • 第一个参数:文件路径
  • 第二个参数:文件内容
  • 第三个参数:回调函数 error,这里只接受一个函数,error是形参,也可以去其他名
    • 成功:
      • 文件写入成功
      • error 是 null
    • 失败:
      • 文件写入失败
      • error 就是错误对象
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fs = require('fs')

fs.writeFile('./data/你好.md', '大家好,给大家介绍一下,我是Node.js', function (error) {
  console.log('文件写入成功')
})

注意:可以在vscode中右击文件名直接打开所在的终端位置或快捷键 Ctrl+Alt+O

  • 执行:
  • 此时可以看到:这里执行后会直接创建这个 你好.md 文件并且写入内容

案例5:读取不存在的文件

  • a.txt 没有被创建的情况下
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fs = require('fs')
fs.readFile('./data/a.txt', function (error, data) {
})
  • 执行后无任何提示
  • 已经创建好的hello.txt,查看是否有错误
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fs = require('fs')
fs.readFile('./data/hello.txt', function (error, data) {
	console.log(error)
})
  • 执行,说明读取成功了
  • 改为不存在的 a.txt
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fs = require('fs')
fs.readFile('./data/a.txt', function (error, data) {
	console.log(error)
})
  • 执行,说明读取失败了

error是错误对象,data是真正的数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fs = require('fs')
fs.readFile('./data/a.txt', function (error, data) {
	console.log(error)
	console.log(data)

	console.log(data.toString())
})

undefined 没有 toString这个属性

  • 成功
    • data 数据
    • error null
  • 失败
    • data undefined 没有数据
    • error 错误对象

加上错误判断

  • a.txt没有被创建,在这里就可以通过判断 error 来确认是否有错误发生
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fs = require('fs')
fs.readFile('./data/a.txt', function (error, data) {
	 if (error) {
    console.log('读取文件失败了')
    // return
  		} else {
    console.log(data.toString())
  	}
})

写入文件失败

  • 此时文件名为 ?.txt,因为在Windows中特殊字符不能作为文件命名
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fs = require('fs')
fs.writeFile('./data/?.txt', '大家好,给大家介绍一下,我是Node.js', function (error) {
   console.log(error)   // 查看是否有错误

文件写入成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fs = require('fs')
fs.writeFile('./data/你好.txt', '大家好,给大家介绍一下,我是Node.js', function (error) {
   console.log(error)   // 查看是否有错误

error = null 说明文件写入成功

  • 加上判断
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var fs = require('fs')
fs.writeFile('./data/你好.txt', '大家好,给大家介绍一下,我是Node.js', function (error) {

   if (error) {
    console.log('写入失败')
  } else {
    console.log('写入成功了')
  }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/11/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Node.js 中使用 fs 模块进行文件读写操作详解
在现代 Web 开发中,Node.js 以其独特的非阻塞 I/O 和事件驱动架构,已经成为服务器端开发的首选平台之一。而在 Node.js 的核心模块中,fs(文件系统)模块扮演着至关重要的角色。它提供了丰富的 API,使得开发者能够轻松地进行文件的读取、写入、追加、复制和删除等操作。本文将深入探讨 fs 模块的使用方法,通过详细的示例代码,帮助读者掌握在 Node.js 环境下进行文件操作的基本技能。
Front_Yue
2024/12/25
7290
Node.js 中使用 fs 模块进行文件读写操作详解
【Node.JS 练习】考试成绩整理
 往期文章 【Node.JS】buffer类缓冲区 【Node.JS】事件的绑定与触发 【Node.JS】写入文件内容 【Node.JS】读取文件内容 ----  目标 整理前的数据格式 整理后的数据格式  实现思路 导入需要的fs文件系统模块 使用fs.readFile()方法,读取素材目录下的成绩.txt文件。 判断文件是否读取失败。 文件读取成功后,处理成绩数据。 将处理完成的成绩数据,调用fs.writeFile()方法,写入到新文件成绩-ok.txt中。   操作 //导入模块 co
坚毅的小解同志的前端社区
2022/11/28
5160
【Node.JS 练习】考试成绩整理
Node.js学习笔记——认识nodejs、详解fs文件系统模块与path路径模块
不同的浏览器使用不同的 JavaScript 解析引擎 Chrome 浏览器 => V8 Firefox 浏览器 => OdinMonkey(奥丁猴) Safri浏览器 => JSCore IE 浏览器 => Chakra(查克拉) 其中,Chrome 浏览器的 V8 解析引擎性能最好!
timerring
2022/07/20
1.8K0
Node.js学习笔记——认识nodejs、详解fs文件系统模块与path路径模块
Node.js学习笔记(二)——Node.js模块化、文件读写、环境变量
(1)、在浏览器端使用var或不使用关键字定义的变量属于全局作用域,也就是可以使用window对象访问。
张果
2022/09/28
6.5K0
Node.js学习笔记(二)——Node.js模块化、文件读写、环境变量
Node.js 高级进阶之 fs 文件模块学习
文件操作是开发过程中并不可少的一部分,作为一名 Node.js 开发工程师更应该熟练掌握fs模块的相关技巧。Node.js 中的 fs 模块是文件操作的封装,它提供了文件读取、写入、更名、删除、遍历目录、链接等 POSIX 文件系统操作。与其它模块不同的是,fs 模块中所有的操作都提供了异步和同步的两个版本,具有 sync 后缀的方法为同步方法,不具有 sync 后缀的方法为异步方法
coder_koala
2019/07/30
1.6K0
Node.js 高级进阶之 fs 文件模块学习
【灵魂拷问】你为什么要来学习Node.js呢?
Node是一种新技术,诞生于2009年,经过几年的变化,Node.js生态圈以及逐渐走向了稳定,不少开发者入门时,总是要经历一种思维的转变,但是学会Node.js可以进行Web后端的开发,同时掌握事件驱动的异步式编程风格。
达达前端
2019/12/24
1.3K0
【灵魂拷问】你为什么要来学习Node.js呢?
Node.js
主要学习:JavaScript+Node.js内置API模块(fs、path、http等)+第三方API模块(express、mysql等)
岳泽以
2022/11/21
8.3K0
Node.js
Node.js 文件系统的各种用法和常见场景
在 Node.js 中,文件系统(File System)是一个重要的模块,它提供了许多用于处理文件和目录的功能。通过文件系统模块,我们可以读取、写入、修改、删除文件,以及创建和管理目录等操作。本文将详细介绍 Node.js 文件系统的各种用法和常见场景。
网络技术联盟站
2023/07/07
3490
【Node.js】01 —— fs模块全解析
另外,Node.js 还提供了诸如 fs.readdir()(异步读取目录内容)和 fs.readdirSync()(同步读取目录内容)等方法,用于枚举指定目录中的文件和子目录。同时,还有 fs.promises.readdir() 提供基于Promise的异步API。
空白诗
2024/06/14
5810
Nodejs中对文件执行读写操作(多demo)
在nodejs中实现对文件及目录读写操作的功能是fs模块。另外与文件及目录操作相关的一个模块是path模块。
前端_AWhile
2019/08/29
2K0
node.js - fs模块原来还能这样用?
Node.js 的 fs 模块是用于处理文件系统操作的核心模块,它提供了一组功能丰富的方法,可以对文件和目录进行读取、写入、修改、删除等操作。
程序员王天
2023/10/18
3240
通过程序来介绍Node.js 的几个文件读写和事件监听API
fs.exists()这个了解一下就好了,Node.js官方现在都不建议使用这个东西了,建议用 fs.stat() 或 fs.access()来替换。这个方法的功能就是检查给定的文件系统路径是否存在。此方法只返回一个布尔值,这是为什么不推荐使用这个方法,而推荐使用fs.access()的一个重要原因。fs.stat()可以查看文件或文件夹的属性,stats.isFile()判断这个是不是文件。fs.readFile()是用来读取文件的。与fs.readFile()功能差不多的还有,fs.readFileSync(),只是前者是异步的,而后者是同步的。同步操作的好处是简单,但是当读文件时就不能再进行其他操作了,而异步读取不需要等待,但是代码比较复杂。
Regan Yue
2022/04/24
9380
nodejs基本使用
  Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。
隔壁老陈
2023/03/10
1.2K0
Node.js原生开发(入门篇)
炑焽
2024/06/24
8370
Node的介绍
注意:文件名不要用node.js来命名,也就是说除了node这个名字随便起,最好不要使用中文。
zayyo
2023/11/30
2440
前端基础-Node.js核心模块的使用
要求2:向 hzw.json 文件中添加一条数据 {id:'4',names:'罗宾',sex:'女',img:''} ;
cwl_java
2020/03/26
1K0
Node.js 中 async 和 await 的实战演练
在 Node.js 开发中,async 和 await 是处理异步操作的重要关键字。它们的出现极大地简化了异步代码的编写方式,让异步代码看起来更像是同步代码,从而提高了代码的可读性和可维护性。接下来,我将深入探讨 async 和 await 的用法、原理以及在实际开发中的最佳实践。
编程小妖女
2025/04/21
2630
Node.js 中 async 和 await 的实战演练
Node.js初探(一)——fs、path、http
浏览器中有JS解析引擎:每个浏览器的解析引擎都不一样,Chrome浏览器中的V8解析引擎最好。
conanma
2022/01/05
1.3K0
node.js(1)
node.js是一个基于Chrome V8引擎的JavaScript运行环境
y191024
2022/09/20
1.2K0
node.js(1)
在Node.js中读写文件
本文翻译自Reading and Writing Files in Node.js
ccf19881030
2020/10/29
5.9K0
推荐阅读
相关推荐
Node.js 中使用 fs 模块进行文件读写操作详解
更多 >
LV.4
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档