文章目录
2.1.安装Node环境·查看当前Node环境的版本号
-
安装
- 傻瓜式的一路
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('写入成功了')
}