介绍
- 使用 node 的 fs 模块中异步 writeFile方法;或者同步 writeFileSync方法;
- 写入文件(异步的fs.writeFile和同步的fs.writeFileSync)
file - 文件名或文件描述符。fs.writeFile(file, data[, options], callback)
data - 要写入文件的数据,可以是 String(字符串) 或 Buffer(缓冲) 对象。
options - 该参数是一个对象,包含 {encoding, mode, flag}。默认编码为 utf8, 模式为 0666 , flag 为 ‘w’
callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。 - 读取文件(异步的 fs.readFile() 和同步的 fs.readFileSync())
fs.readFile(filename[, options], callback)
使用(以异步举例,同步则是以一个变量接收且无回调函数)
-
覆盖写入;(执行一次函数则文件内容置空,然后再写入)
const fs = require('fs'); const data = { name: 'zs' }; const wirte = (data) => { return data }; fs.writeFile("./end.js", `const a = ${JSON.stringify(wirte (data))}`, err => { if (err) console.log('文件写入失败!' + err.message) console.log(`文件写入成功!:${__dirname}\\end.js`) })
-
增量模式写入(保留之前的数据继续写入)
增量模式需要使用到fs的读取文件(fs.readFile);读取完毕后再次拼接写入;const fs = require('fs'); const data = { name: 'zs' }; const wirte = (data) => { return data } fs.readFile('./end.js', 'utf8', function(err, info) { if (err) console.log('文件读取失败!' + err.message) console.log(`文件读取成功!`,info) fs.writeFile("./end.js", `${info};const time${new Date().getTime()} = ${JSON.stringify(wirte(data))}`, err => { if (err) console.log('文件写入失败!' + err.message) console.log(`文件写入成功!${__dirname}\\end.js`) }) });
参考资料
- 菜鸟教程(node中文版官网需要VIP-199RMB,贫穷的我选择放弃)