1、func.js
const fs = require("fs");
function fsRead(path){//封装读取文件函数
return new Promise((resolve,reject)=>{
fs.readFile(path,{
encoding:"utf-8"
},(err,data)=>{
if(err) reject(err);
resolve(data);
})
});
}
function fsWrite(path,conten){//封装写入文件函数
return new Promise((resolve,reject)=>{
fs.writeFile(path,conten,{
encoding:"utf-8",
flag:"a"//追加写入
},(err)=>{
if(err) reject(err);
resolve();
})
});
}
module.exports = {
fsRead,fsWrite
}
2、input.js
const readline = require("readline");
const {fsWrite} = require("./func");
let r1 = readline.createInterface({//创建接口
output:process.stdout,
input:process.stdin
});
function questionFunc(content){
return new Promise((resolve,reject)=>{
r1.question(content,(as)=>{
resolve(as);
});
});
}
async function questionQS(){
let name =await questionFunc("请问你是?");
let age = await questionFunc("你今年多大?");
let address =await questionFunc("你目前所在地?");
let json = `{
"name":"${name}",
"age":${age},
"address":"${address}"
}`;
await fsWrite("main.json",json);
r1.close();
}
questionQS();
r1.on("close",()=>{
console.log("文件创建成功");
process.exit(0);
})