具体用法,可以参考Node.js文档:http://nodejs.cn/api/fs.html fs.stat/fs.statSync:访问文件的元数据,比如文件大小,文件的修改时间 fs.readFile.../fs.readFileSync:异步/同步读取文件 fs.writeFile/fs.writeFileSync:异步/同步写入文件 fs.readdir/fs.readdirSync:读取文件夹内容...fs.unlink/fs.unlinkSync:删除文件 fs.rmdir/fs.rmdirSync:只能删除空文件夹。...删除非空文件夹:使用fs-extra 第三方模块来删除。...fs.watchFile:监视文件的变化 代码示例 'use strict' let fs = require("fs"); let path = require("path"); let fs2 =
node 的fs文档密密麻麻的 api 非常多,毕竟全面支持对文件系统的操作。文档组织的很好,操作基本分为文件操作、目录操作、文件信息、流这个大方面,编程方式也支持同步、异步和 Promise。...本文记录了几个文档中没详细描写的问题,可以更好地串联fs文档思路: 文件描述符 同步、异步与 Promise 目录与目录项 文件信息 stream 文件描述符 文件描述符是一个非负整数。...所有文件系统的 api 都有同步和异步两种形式。...异步写法写起来容易进入回调地狱。...要检查文件是否存在但随后并不对其进行操作,则建议使用 fs.access()。 ReadStream 与 WriteStream 在 nodejs 中,stream 是个非常重要的库。
首先需要引入fs模块 const fs = require('fs'); 1.fs.stat 检测是文件还是目录 fs.stat('....创建目录 fs.mkdir('....读取文件 fs.readFile('....读取目录 fs.readdir('....删除文件 fs.unlink('.
对于文件处理的四个操作 增删改查 简称 curd(create-update-read-del) 需要使用到的模块叫File System 简称fs 是nodejs 自带的一个库 const fs=require...('fs'); 1、使用 fs.mkdir 创建目录css image.png 2、fs.readdir 读取当前目录下的文件node02 同步读取 异步读取 同步读取时候 用try...catch 处理报错 异步 直接用回调函数中的参数处理。...image.png 3、fs.rename 重命名html 下的index为base image.png 4、 fs.unlink 删除文件t.txt image.png
fs-extra模块是系统fs模块的扩展,提供了更多便利的API,并继承了fs模块的API,本文详细介绍所有操作方法,方便读者更好的操作服务端文件 fs-extra安装与引入 github地址:https...fs-extra同步操作与异步操作介绍 const fs = require(‘fs-extra’) // 异步两种操作方式 // Async with promises: fs.copy(‘/tmp...} catch (err) { console.error(err) } } copyFiles() fs-extra各方法介绍 异步文件操作方法 copy 复制文件或文件夹 emptyDir 清空文件夹...同步文件操作方法(异步方法名后面加上Sync即可) copySync emptyDirSync ensureFileSync ensureDirSync ensureLinkSync ensureSymlinkSync.../package.json’, {name: ‘fs-extra’}) fs-extra简单应用(NodeJS创建一个文件夹) const fse = require(‘fs-extra’); const
超喜欢这样的光线~ 对CLI一探究竟 — argv process.argv包含了所有Node程序运行时的参数值: // example.js console.log(process.argv); 看一下运行结果...工作目录 __dirname :获取执行文件时该文件在文件系统中所在的目录 process.cwd :获取程序运行时当前工作目录(current work directory,我是这样理解这个缩写的)...经常用到的就是NODE_env process.env.NODE_ENV = 'production' 来控制程序是运行在生产环境还是开发环境。...对fs一探究竟 — Stream 为了理解stream的威力,先来看两个例子: var fs = require('fs'); fs.readFile('a.txt',function(err,contents...:查找工作目录下的所有css文件,监视它是否发生改变, 发生改变,就将改文件名输出到控制台 var fs = require('fs'); var files = fs.readdirSync(process.cwd
打开文件 // fs.open 异步读取(通常用异步 需设置回调函数) // fs.openSync 同步读取(读取时会阻塞线程) let hello = fs.openSync("hello.txt...保存并退出 fs.closeSync(hello); #文件操作: 打开文件: fs.open(path,flags[,mode],callback) 异步打开 异步都是回调 回调嵌套回调 fs.openSync...(path,flags[,mode]) 同步打开 文件标记(flags): http://nodejs.cn/api/fs.html#fs_fs_open_path_flags_mode_callback...console.log(data);// // console.log(data.toString()); //data 默认读取的是二进制 使用toString() 方法转换成...创建管道 re.pipe(ws);//文件流传输 console.log('文件流传输完成') 参考:详解NodeJS文件系统fs 我的GitHub总结的NodeJS笔记
这篇博客就来简单的介绍一下NodeJS的异步I/O特点。 一.NodeJS概述: 要学习一个语言或者平台,我们首先应该知道其定义,依据定义来扩展我们的学习思路。...Node的定义:”一个大奖在Chrome JavaScript运行时上的平台,用于构建高速、可伸缩的网络程序。...NodeJS作为一个异步事件驱动的JavaScript运行时,旨在构建可扩展的网络应用程序。...“有关nodejs的背景介绍和安装方法,这里就没有必要介绍了,因为对于nodejs的安装是比较简单,所以在这里赘述就有些显得浪费时间。 ...异步I/O有如下图: ? 三.NodeJS异步编程实例: 前面介绍了异步I/O的相关概念,这里提供一个异步I/O操作的实例: var config = require('.
1.什么是异步编程? 异步编程是指由于异步I/O等因素,无法同步获得执行结果时, 在回调函数中进行下一步操作的代码编写风格,常见的如setTimeout函数、ajax请求等等。...其实它会输出 444 这里就是我们要说的异步编程了。 高级函数的定义 这里为什么会说到高级函数,因为高级函数是异步编程的基础。 那什么是高级函数呢? 其实高级函数就是把函数作为参数或者是作为返回值。
作者:郭泽豪 本篇教程关于Nodejs的异步I/O,具体讲异步I/O的实现现状、非I/O的异步API、事件驱动与高性能服务器。...下面我们以最简单的fs.open()方法来作为例子,探索Node到底层之间是如何执行异步I/O调用以及回调函数究竟是如何被调用执行的: fs.open = function(path, flags, mode...;第二个参数是uv_fs_thread_proc方法运行时所需要的参数;第三个参数是执行的标志。...当线程池中有可用线程时,我们会调用uv_fs_thread_proc()方法。uv_fs_thread_proc()方法会根据传入参数的类型调用相应的底层函数。...以uv_fs_open()为例,实际上调用fs_open()方法。 至此,JavaScript调用立即返回,由JavaScript层面发起的异步调用的第一阶段就此结束。
文件系统时nodejs中至关重要的一个模块,它使得JavaScript具备了操作文件的能力。对于所有文件或目录的操作fs都提供了同步和异步两种操作方式。另外nodejs也提供了文件流的处理。...想要熟练掌握nodejs中文件的处理需要先了解以下几个概念:字符,字符集,字符编码,文件流,buffer。 字符:字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。...文件 nodejs中提供文件服务的是fs模块,他能够实现文件、目录的增删改查,以及文件的信息获取。...} 总结 nodejs对于前端来说难点不是他各个的模块的API,这些API和前端使用的JavaScript语法高度类似,基本看下文档就能使用。...真正的难点是这些API背后的一些知识原理,就如本章描述的fs模块,他背后蕴含了计算机对于文件的许多知识内容。 参考文档: 深入浅出nodejs(朴灵)
关于 Unhandled Rejection 一个 Promise 是一个异步操作的状态机,其可能处于这三种状态之一 pending:异步操作还在执行中 fulfilled:异步操作已经完成 rejected...:异步操作执行失败 Node.js 6.6.0 added a sporadically useful bug/feature: logging unhandled promise rejections...另一种情况是直接在 Promise 中抛出异常: 执行后也会有 UnhandledPromiseRejectionWarning 的警告: Promise API 中有 .catch() 这个方法...Await 关于 Async/Await,可以参考文章:ES7 中的 async await,在这篇文章中详细介绍了 Async/Await 并且和 Promise 进行了对比,Async/Await 在处理异步操作上的优势更明显...async 异步函数返回的是 Promise,所以执行异步函数后,统一需要用 .catch() 对可能出现的 rejection 进行捕捉处理,否则统一也是会出现 UnhandledPromiseRejectionWarning
前篇《Nodejs学习笔记(一)——初识Nodejs》主要介绍了在搭建node环境过程中遇到的小问题以及搭建Eclipse开发Node环境的前提步骤。...本篇主要介绍如何在Eclipse中运行并调试nodejs程序。 1.安装Express。Express是目前最稳定、使用最广泛,而且是Node.js官 方推荐的唯一一个 Web 开发框架。 ...这是已经成功运行了,下面还有如何调试 1.进入RobotProject目录下,执行node --debug app.js(注意是两个中划线) ? ...至此,便达到了在Eclipse中运行nodejs程序并且可以实现调试的目的,下面就可以安心的学习nodejs代码啦^_^ 如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力
nodejs怎么运行? 答:对于 nodeJS 项目的运行,只需要安装一个 node的环境就可以了,不需要其他的配置。...使用 cmd 命令,打开 window 窗口,输入 node -v ,如果运行的结果是 nodeJS的一个版本,说明环境就已经OK了。...如何使用 nodejs 项目根目录?...答:nodejs项目根目录中用node xx.js 或是 node xx运行 打开 window的 cmd 命令窗口,使用 cd 命令跳转到 nodeJS 项目的根目录,然后直接使用 node xx.js...或是 node xx 这种方式运行 nodeJS 项目。
任务提供独立调度和运行的协程的句柄,并允许查询、取消任务,以及稍后检索结果和异常。异步事件循环管理任务。因此,所有协程都成为事件循环中的任务并作为任务进行管理。让我们仔细看看 asyncio 任务。...什么是异步任务异步任务是一个调度并独立运行 asyncio 协程的对象。它提供了一个调度协程的句柄,asyncio 程序可以查询并使用它来与协程交互。任务是从协程创建的。...因为异步任务是可等待的,这意味着协程可以使用 await 表达式等待任务完成。......返回一个任务实例任务实例可以被丢弃,通过方法与之交互,并由协程等待。这是从 asyncio 程序中的协程创建任务的首选方法。2.2....任务何时运行?创建任务后的一个常见问题是它什么时候运行?虽然我们可以通过 create_task() 函数调度协程作为任务独立运行,但它可能不会立即运行。事实上,直到事件循环有机会运行,任务才会执行。
用户注册 传统的实现思路 根据用户名查找记录,如果存在记录,证明用户名已被占用 根据邮箱查找记录,如果存在记录,证明又想已被占用 但是在nodejs中,大家都知道,各种的回调。...简单的查询数据库都是异步的。你可能会这么写: User.findOne({username: user.username}, function (err, doc) { if(!...有没有优雅的实现方法呢?答案是有的!我们用到了async。 优雅的实现方式 async是一个流程控制工具包,可以完美解决我们的问题。...async.parallel() 方法接收两个参数,一个是执行的方法组,一个是回调。...可以是上面那种数组的形式,也可以是对象的形式: { one: function(callback){ }, two: function(callback){ } } 实现方法
任务提供独立调度和运行的协程的句柄,并允许查询、取消任务,以及稍后检索结果和异常。异步事件循环管理任务。因此,所有协程都成为事件循环中的任务并作为任务进行管理。...什么是异步任务 异步任务是一个调度并独立运行 asyncio 协程的对象。它提供了一个调度协程的句柄,asyncio 程序可以查询并使用它来与协程交互。 任务是从协程创建的。...因为异步任务是可等待的,这意味着协程可以使用 await 表达式等待任务完成。...返回一个任务实例 任务实例可以被丢弃,通过方法与之交互,并由协程等待。这是从 asyncio 程序中的协程创建任务的首选方法。 2.2....任务何时运行? 创建任务后的一个常见问题是它什么时候运行? 虽然我们可以通过 create_task() 函数调度协程作为任务独立运行,但它可能不会立即运行。
但是对于最开始在浏览器中运行的javascript来说,单线程的同步执行环境显然无法满足页面点击,鼠标移动这些响应用户的功能。...于是浏览器实现了一组API,可以让javascript以回调的方式来异步响应页面的请求事件。 更进一步,nodejs引入了非阻塞的 I/O ,从而将异步的概念扩展到了文件访问、网络调用等。...今天,我们将会深入的探讨一下各种异步编程的优缺点和发展趋势。 同步异步和阻塞非阻塞 在讨论nodejs的异步编程之前,让我们来讨论一个比较容易混淆的概念,那就是同步,异步,阻塞和非阻塞。...上篇文章我们讲到的setTimeout和setInterval实际上都是异步的回调函数。 回调函数的错误处理 在nodejs中怎么处理回调的错误信息呢?...,并会定时触发resolve方法,并传入参数done。
领取专属 10元无门槛券
手把手带您无忧上云