初学Node.js一

Node

  1. node是对ES标准的实现,Node也是一个JS引擎
  2. 通过Node 可以使 JS 代码在服务器端执行
  3. Node 仅仅是对 ES 标准进行了实现,所以在Node中不包含DOM 和 BOM
  4. Node 可以使用所有的内建对象 String Number Boolean Math Date Function Object Array RdgExp 也可以使用 console 和定时器(setTimeout、setInterval)但是不能使用 DOM 和 BOM
  5. Node 可以在后台来编写服务器,编写的服务器是单线程的服务器
  6. cmd命令行执行 js 文件,node ***.js 执行

readFile方法读取文件内容

  1. 导入 fs 模块,来操作文件
  2. 使用 fs.readFile() 方法读取文件
  3. 三个参数,第三个参数可选,参数1:读取文件的存放路径;参数2:读取文件时候采用的编码格式,一般默认是 utf8;参数3:回调函数,拿到读取文件失败和成果的结果,err、dataStr
const fs = require('fs')
fs.readFile('./file/11.text', 'utf8', function(err, dataStr) {
	console.log(err)
	console.log(dataStr)
	//打印结果。如果读取成功,则err 的值为 null
	//如果读取失败,则 err 的值为错误对象,dataStr的值为 undefined
})
  1. 判断文件是否读取成功,只需要判断 err 的值是否为true

writeFile方法写入文件内容

  1. 导入 fs 模块
  2. 使用 fs.writeFile() 方法写入文件
  3. 四个参数,第三个参数可选,参数一:写入文件的存放路径;参数2:写入文件的内容;参数三:写入文件的编码格式,默认 utf8;参数四:回调函数
const fs = require('fs)
fs.writeFile('./file/2.txt', 'abddg', 'utf8可不写', function(err) {
	console.log(err)
	//如果文件写入成功,则 err 的值为 null
	//如果写入失败,则 err 的值为错误对象
})
  1. 判断写入是否成功,还是判断 err 的值是否为 true
  2. fs.writeFile() 方法只能创建文件,不能创建路径,使用此方法写入的新的内容会覆盖旧的内容

文件路径拼接问题

  1. cmd运行 js 文件时会存在目录拼接问题,因为默认是在当前目录下直接动态拼接 js 文件写入的路径
  2. 那么解决方法一呢就是直接在 js 文件写一个绝对路径,但是问题就是移植性差,不易维护
  3. 解决方法二,就是利用 node 文件提供的 __dirname,代表的就是当前文件所在的目录,后边直接拼接相对路径就可以
fs.readFile(__dirname + '/files/1.txt', 'utf8', function(err, dataStr) {
	if(err){
		return console.log('读取文件失败' + err.message)
	}
	console.log('读取文件成功', + dataStr)
})

path路径 path.join() 路径拼接

  1. 导入 path 模块
  2. 使用 path.join() 方法拼接多个路径片段, …/ 会抵消前面的一个路径
const path = require('path')
const pathStr = path.join('/a', '/b/c', '../', './d', 'e')
console.log(pathStr) //打印 \a\b\d\e
  1. 可以将上边的使用 __dirname 的拼接路径优化
const path = require('path')
const fs = require('fs') 
// fs.readFile(__dirname + '/files/1.txt')
// 优化为
fs.readFile(path.join(__dirname, '/file/1.txt'), 'utf8', function(err, dataStr) {
	if(err){
		return console.log('读取文件失败' + err.message)
	}
	console.log('读取文件成功', + dataStr)
})

path.basename() 获取路径中的文件名

  1. 同样是引入 path 模块
  2. 只写一个参数那么就可以获得完整的文件名
  3. 第二个参数可以移除文件的扩展名,也就是后缀不输出,index.html 只输出 index
const path = require('path')
const fpath = 'a/b/c/index.html'
const fullName = path.basename(fpath)
//打印出 index.html
//如果打印不希望有文件后缀
const nameWithoutExt = path.basename(fpath, '.html')
//打印信息就可以把文件后缀移除

path.extname() 获取路径中文件扩展名

  1. 传入参数只需要传一个 path 路径,会返回文件的扩展名
const path = require('path')
const fpath = 'a/b/c/index.html'
const pathExt = path.extname(fpath)
//打印 pathExt 为扩展名 html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值