阅读 59

Node.js安装及文件的读写

文章目录

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

  • 下载: nodejs.org/en/download…

  • 安装

    • 傻瓜式的一路next就可以了
    • 对于已经安装过的,重新安装就会升级
  • 确认Node环境是否安装成功

node -v
或
node --version
复制代码

在这里插入图片描述

  • 环境变量

2.2.Hello World

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

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

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

var foo = 'hello nodejs'

console.log(foo)
复制代码
  • cmd窗口输出或gitbash或vscode自带的终端执行
node 00-helloworld.js
复制代码

在这里插入图片描述

案例2:没有DOM和BOM

  • 在 Node 中,采用 EcmaScript 进行编码
  • 没有 BOM、DOM
  • 和浏览器中的 JavaScript 不一样
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 核心模块
var fs = require('fs')
复制代码
  1. 读取文件

    • 第一个参数就是要读取的文件路径

    • 第二个参数是一个回调函数

      • 成功

        • data 数据
        • error null
      • 失败

        • data undefined没有数据
        • error 错误对象
  • error
    如果读取失败,error就是错误对象
    如果读取成功,error就是null
  • data
    如果读取成功,data就是读取到的数据
    如果读取失败,error就是错误对象
fs.readFile('./data/hello.txt', function (error, data) {
	console.log(data)
})
复制代码
  • 在新建的 hello.txt 文件中写入
hello nodejs
你好,Node.js
复制代码
  • 执行 node 02-读取文件
var fs = require('fs')
fs.readFile('./data/hello.txt', function (error, data) {
	console.log(data)
})
复制代码

在这里插入图片描述

<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 方法把其转为我们能认识的字符
var fs = require('fs')
fs.readFile('./data/hello.txt', function (error, data) {
	console.log(data.toString())
})
复制代码
  • 执行 node 02-读取文件

在这里插入图片描述

案例4:写文件

  • 第一个参数:文件路径

  • 第二个参数:文件内容

  • 第三个参数:回调函数 error,这里只接受一个函数,error是形参,也可以去其他名

    • 成功:

      • 文件写入成功
      • error 是 null
    • 失败:

      • 文件写入失败
      • error 就是错误对象
var fs = require('fs')

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

注意:可以在vscode中右击文件名直接打开所在的终端位置或快捷键 Ctrl+Alt+O
在这里插入图片描述

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

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

  • a.txt 没有被创建的情况下
var fs = require('fs')
fs.readFile('./data/a.txt', function (error, data) {
})
复制代码
  • 执行后无任何提示

在这里插入图片描述

  • 已经创建好的hello.txt,查看是否有错误
var fs = require('fs')
fs.readFile('./data/hello.txt', function (error, data) {
	console.log(error)
})
复制代码
  • 执行,说明读取成功了

在这里插入图片描述

  • 改为不存在的 a.txt
var fs = require('fs')
fs.readFile('./data/a.txt', function (error, data) {
	console.log(error)
})
复制代码
  • 执行,说明读取失败了

在这里插入图片描述
error是错误对象,data是真正的数据

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 来确认是否有错误发生
var fs = require('fs')
fs.readFile('./data/a.txt', function (error, data) {
	 if (error) {
    console.log('读取文件失败了')
    // return
  		} else {
    console.log(data.toString())
  	}
})
复制代码

在这里插入图片描述

写入文件失败

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

在这里插入图片描述

文件写入成功

var fs = require('fs')
fs.writeFile('./data/你好.txt', '大家好,给大家介绍一下,我是Node.js', function (error) {
   console.log(error)   // 查看是否有错误
复制代码

在这里插入图片描述
error = null 说明文件写入成功

  • 加上判断
var fs = require('fs')
fs.writeFile('./data/你好.txt', '大家好,给大家介绍一下,我是Node.js', function (error) {

   if (error) {
    console.log('写入失败')
  } else {
    console.log('写入成功了')
  }
复制代码

在这里插入图片描述

文章分类
后端
文章标签