这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战
Node 是什么?
Node 是一个基于Chrome V8 引擎的JavaScript 运行环境。
Node 不是一种独立的语言、Node不是 JavaScript 框架,
Node是一个除了浏览器之外的、可以让JavaScript 运行的环境
Node.js 是一个让 JavaScript 运行在服务端的开发平台,是使用 事件驱动, 异步非阻塞I/O,单线程,跨平台的 JS 运行环境;
(一)文件的读取与写入
步骤大概:
- 读取文件
- 把内容以空格分割添上逗号
- 将=替换成:
- 写入新文件
- 使用__dirname保证移植性和可维护性 readFile方法是将要读取的文件内容完整读入缓存区,再从该缓存区中读取文件内容
通过readFile方法来读取我们需要转换的文件,通过split方法以空格方式进行分割。 forEach方法来遍历arrOld数组,把等号转换成:,然后添加进新数组。
writeFile方法是将要写入的文件内容完整的读入缓存区,然后一次性的将缓存区中的内容写入都文件中。 通过writeFile来写入文件,格式如下 writeFile('文件路径','写入内容','回调函数')
const fs=require('fs')
fs.readFile(__dirname+'/aa.txt','utf-8',function(err,dataStr){
if(err){
return console.log('失败'+err.message);
}
console.log('成功'+dataStr);
const arrNew=[]
//分割
const arrOld=dataStr.split(' ')
arrOld.forEach(item=>{
arrNew.push(item.replace('=',':'))
})
console.log(arrNew);
const newArr=arrNew.join('\r\n')
console.log(newArr);
//5.写入新文件
fs.writeFile('./bb.txt',newArr,function(err){
if(err){
return console.log('写入文件失败'+err.message);
}
console.log('写入成功');
})
})
这里主要的知识点就是用'_dirname'来替换‘../路径’。
由于该方法属于path模块,使用前需要引入path模块(var path= require(“path”) )
Node.js 中,__dirname 总是指向被执行 js 文件的绝对路径,相反,./ 会返回你执行 node 命令的路径,例如你的工作路径。
有一个特殊情况是在 require() 中使用 ./ 时,这时的路径就会是含有 require() 的脚本文件的相对路径。
(二)path路径模块
1.使用path.join来拼接目录
const path=require('path');
//../会抵消前面的路径
const pathStr=path.join(__dirname,'/aa.txt')
console.log(pathStr);
2.使用path.baseName来查看文件名 path.basename(filepath), 是获取路径的最后一部分。 可以看看如下代码:
const fpath='/a/b/c/index.html';
const fullName=path.basename(fpath)
console.log(fullName);
const nameExt=path.basename(fpath,'.html')