一、node的文件运行方式
-
黑窗口 REPL (不推荐)
R read
E eavl
P print
L look -
以命令的方式运行
node js文件名称 如:node app.js 或者 node app
二、node 组成部分
ecmascript 核心
核心模块 如:fs path http
全局成员 console setTimeout
三、fs模块
1. fs.readFile(path,[options],callback);
-
path 读取文件的位置
-
options 可选参数,默认为null 其实是buff
-
callback 回调函数
-
err 读取报错信息
-
data 读取的数据
-
const fs = require('fs');
fs.readFile('./1.txt','utf-8',(err,dataBuff)=>{
if(err) return console.log(err)
console.log(dataBuff)
})
2. fs.writeFile(path,data,[options],callback);
-
path 读取文件的位置
-
data 写入的数据
-
options 可选参数,默认为 utf-8
-
callback 回调函数
err 读取报错信息
const fs = require('fs');
fs.writeFile('./2.txt','hello node.js',err=>{
if(err) throw err
console.log("写入成功")
})
- ps:文件写入每次会覆盖之前的内容
3. fs.copyFile(src,dest,[mode],callback);
-
src 拷贝的文件
-
data 写入的位置
-
mode 可选的参数
-
callback 回调函数
err 读取的错误信息
demo:文件拷贝
const fs = require('fs')
//传统方式
fs.readFile('./file/1.txt',(err,data)=>{
if(err) return console.log(err)
fs.writeFile('./file/2-copy.txt',data,err=>{
if(err) return console.log(err)
console.log('拷贝成功')
})
})
//新增方法 v8.5.0+
fs.copyFile('./file/1.txt','./file/2-copy.txt',err=>{
if(err) return console.log(err)
console.log('拷贝成功')
})
四、path
- path.join()
//拼接一个绝对路径
const abspath = __dirname + '/file/1.txt';
//推荐使用path.join()
const abspath = path.join(__dirname,'./file/1.txt')