赞
踩
nodejs这个东西呢,说起来挺复杂的,但是我们还是得了解一下它,毕竟多一门技术也多一条路嘛,今天刚好有时间,就把以前学过的东西来整理一下,最开始学的时候,给我留下了不可磨灭的印象。
官方的概念是:Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时
我自己的理解是:是一个基于Chrome V8引擎的运行js代码的运行环境,它不是一个js文件,而是一个软件
然后输入命令 node -v,如果出现版本号,就显示我们安装成功了
cmd
,并回车格式是:node 要执行的文件的路径
注意:node后面有一个空格
其实说白了,nodejs是一个环境,可以来跑js代码
node 空格 某个js文件 # 调用 node 程序,运行某个js文件 clear 或者 cls # 清空界面 ls/dir # 查看列表(list) cd 目录名 # 进入到目录中去 cd .. # 返回上一级目录 cd \ # 直接回到根目录 Ctrl+C # 停止 Node 程序 输入部分文件名后按下 Tab 键 // 补全文件名 或 目录名, 多次tab会进行切换 ↑ ↓ 上下箭头 # 切换历史输入
相同点:
不同点:
例如:
//1. 引入
const fs = require('fs')
console.log(fs)
//2. 调用
fs.各种API(实参)
const fs=require('fs')
let res=fs.readFileSyn('文件路径','utf8')
//res就是读出来的内容
console.log(res)
注意:api的名字结尾有Sync(async是异步的,sync表示同步的)
如果读取成功,会获取读出来的数据,如果读取失败,后面的代码就不会执行
解决这个问题的方法:用try.catch结构
try {
//可能会有错误的代码
let res = fs.readFileSync('./01-第一个在node上面跑的文件.js', 'utf-8')
console.log(res)
} catch (error) {
//如果try里面的代码有错误,就会进入catch,并把错误传进来(在这里处理错误)外面的代码还是会执行
console.log('报告,有错误发送')
console.log(error)
}
console.log(125)
// 1.一般情况下 程序报错后面的代码就不会执行
// 2.加了try catch后,处理错误后,外面的代码会正常执行
功能:向指定文件中写入字符串, 如果没有该文件则尝试创建该文件。
格式:
const fs=require('fs')
fs.writeFileSync(pathName, content, option)
//1. 第一个参数是文件的路径
//2. 第二个参数是要写入的内容(类型是字符串类型或者Buffer类型)
//3. 第三个参数是配置项(可选),设置写入的字符集,默认是utf-8
注意:它是覆盖写入,会把文件中的内容全部删除,再填入新的内容。
const fs = require('fs')
fs.writeFileSync('./a.txt', 'hello world! \n 换一行')
const fs = require('fs')
const data = [{name: '小王', age: 20}]
fs.writeFileSync('./a.txt', data)
上面的写法会直接报错,因为data不是一个字符串或者Buffer
解决的方法:调用JSON.stringify先对内容做处理,转成字符串,再保存
const fs = require('fs')
const data = [{name: '小王', age: 20}]
fs.writeFileSync('./a.txt', JSON.stringify(data))
nodejs中提供了两个全局变量来获取获取绝对路径:
只需要在读入文件时,在文件名的前面拼接上路径:
// 拼接html5.jpg的绝对路径
// 1) 找到当前文件夹的绝对路径
console.log(__dirname)
// 2) 加上 html5.jpg
const fs = require('fs')
const filePath = __dirname + '\\rs.txt'
// 走一步,看一步
console.log(filePath)
const rs = fs.readFileSync(filePath)
1.引入模块
const path = require('path')
2. 调用API
path.各种api(参数)
###常用的Api
path
的最后一部分。一般可用来获取路径中的文件名。// 拼接html5.jpg的绝对路径 // 1) 找到当前文件夹的绝对路径 console.log(__dirname) // 2) 加上 html5.jpg const fs = require('fs') const path = require('path') const filePath = path.join(__dirname, 'html5.jpg') // const filePath = __dirname + '\\html5.jpg' // 走一步,看一步 console.log(filePath) fs.readFile(filePath,function(err, data) { if(err) { console.log(err) return } console.log(data) })
文件data.json里面的内容如下
[{"name":"小王"},{"name":"小李"}]
我们自己写的js文件
//1. 先引入模块 const fs = require('fs') const path = require('path') //2. 看一下自己的模块引进来没有 // console.log(fs) //3.调用api //3.1 使用绝对路径 let fileName = path.join(__dirname, 'data.json') // console.log(fileName) //3.2 读取这个文件,并把文件里面的内容转换成对象 let arr = JSON.parse(fs.readFileSync(fileName, 'utf-8')) //3.3 往这个对象里面添加我们要加的内容 arr.push({ name: '小张' }) //3.4 把我们添加好的数据,转换成json格式,并写入到data文件中 arr = JSON.stringify(arr) fs.writeFileSync(fileName, arr, 'utf-8')
最后运行的结果:
[{"name":"小王"},{"name":"小李"},{"name":"小张"}]
成功添加一条数据!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。