文章目录
2.1.安装Node环境·查看当前Node环境的版本号
- 下载: https://nodejs.org/en/download/
- 安装
- 傻瓜式的一路
next
就可以了 - 对于已经安装过的,重新安装就会升级
- 傻瓜式的一路
- 确认Node环境是否安装成功
node -v
或
node --version
- 环境变量
2.2.Hello World
- 创建编写JavaScript脚本文件
- 打开终端,定位到脚本文件所属目录
- 输入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
就是用来读取文件的
- 使用 require 方法加载 fs 核心模块
var fs = require('fs')
- 读取文件
- 第一个参数就是要读取的文件路径
- 第二个参数是一个回调函数
- 成功
- 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('写入成功了')
}