赞
踩
语法:fs.readdir(path,callback);
path:要读取的目录路径。
callback(err,files):files 为数组,包含目录下的文件。
- const fs = require('fs')
- fs.readdir('xxx', function(err, files) {
- err ? console.log('存在错误', err) : console.log('输出目录', files)
- })
promise 异步封装;
- const fs = require('fs')
- // promise 封装
- function readDir(path) {
- return new Promise(function(resolve, reject) {
- fs.readdir(path, function(err, files) {
- if (err) {
- reject(err)
- } else {
- resolve(files)
- }
- })
- })
- }
-
- readDir('xxx').then(function(res){
- console.log('该目录为',res)
- })
await 和 async 简化 promise 异步操作;
- const fs = require('fs')
- // promise 封装
- function readDir(path) {
- return new Promise(function(resolve, reject) {
- fs.readdir(path, function(err, files) {
- if (err) {
- reject(err)
- } else {
- resolve(files)
- }
- })
- })
- }
- // await 和 async 简化 promise 异步操作
- async function read_dir(path) {
- let pathArr = await readDir(path)
- console.log('目录为:', pathArr)
- }
- read_dir('xxx')
语法:fs.rmdir(path,callback);
path:要删除的目录路径。
callback 中没有接收参数。
- const fs = require('fs')
- fs.rmdir('xxx',function(){
- console.log('目录删除成功!!!)
- })
在 node 中,输出可以使用,console.log('xxx'),输入则需要使用 fs 模块提供的 readline 。
- // 1, 导入相关包
- let readline = require('readline')
- // 2, 实例化接口对象
- let r1 = readline.createInterface({
- output: process.stdout,
- input: process.stdin
- })
- // 3, question 事件方法
- r1.question('你的姓名?', function(answer) {
- console.log('姓名是', answer)
- // 不加 close 程序不会结束
- r1.close()
- })
- // 4,close 结束事件
- r1.on('close', function() {
- // 结束程序
- process.exit(0)
- })
promise 异步封装;
- // 1, 导入相关包
- let readline = require('readline')
- // 2, 实例化接口对象
- let r1 = readline.createInterface({
- output: process.stdout,
- input: process.stdin
- })
- // promise 异步封装
- function question1(title) {
- return new Promise(function(resolve, reject) {
- r1.question(title, function(answer) {
- resolve(answer)
- })
- })
- }
- question1('你的姓名?').then(function(res){
- console.log('输入的姓名为',res)
- })
await 和 async 简化 promise 异步操作; 【实例,询问创建 package.json 文件】
- // Node 中输入和输出
- // 1, 导入相关包
- let { WriteFile } = require('../08_文件写入/index')
- let readline = require('readline')
- // 2, 实例化接口对象
- let r1 = readline.createInterface({
- output: process.stdout,
- input: process.stdin
- })
- // 3, question 事件方法
- r1.question('你的姓名?', function(answer) {
- console.log('姓名是', answer)
- // 不加 close 程序不会结束
- r1.close()
- })
- // 4,close 结束事件
- r1.on('close', function() {
- // 结束程序
- process.exit(0)
- })
- // promise 异步封装
- function question1(title) {
- return new Promise(function(resolve, reject) {
- r1.question(title, function(answer) {
- resolve(answer)
- })
- })
- }
-
- async function createPackage() {
- let name = await question1('您的包名叫什么?')
- let description = await question1('您的包如何描述?')
- let version = await question1('程序版本是什么?')
- let author = await question1('您的包作者是谁?')
- let content = `{
- "name": "${name}",
- "version": "${version}",
- "author": "${author}",
- "description": "${description}",
- "scripts": {
- "serve": "vue-cli-service serve",
- "build": "vue-cli-service build",
- "lint": "vue-cli-service lint"
- }
- }
- `
- await WriteFile('package.json', content)
- // 最终写完内容,关闭输入进程
- r1.close()
- }
- createPackage()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。