首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

深入浅出 Nodejs( 二 ):Nodejs 文件模块机制

作者:郭泽豪 本篇教程关于Nodejs文件模块机制,具体讲CommonJs规范以及Nodejs文件模块的实现原理。...在Node中,模块分为两类:一类Node本身提供的模块,称为核心模块;另一类用户编写的模块,叫文件模块。 (1)核心模块部分在Node源代码编译的过程中,编译进了二进制执行文件。...自定义模块指的是非核心模块,也不是路径形式的标识符。它是一种特殊的文件模块,可能一个文件,也可能一个包。这类文件的查找最费时的。...我们尝试创建module_path.js文件,其内容console.log(module.paths),输出结果如下; [ 'C:\\Users\\Administrator\\Desktop\\nodejs...(3)JSON文件的编译,即.json文件 .json文件的编译3种文件模块编译方式中最简单的。

2.4K20

NodeJS如何监听文件的变化?

概述 NodeJS 提供了 fs.watch / fs.watchFile 两种 API: fs.watch: 推荐,可以监听文件夹。基于操作系统。 fs.watchFile: 只能监听指定文件。...文件 md5 某些开源软件,会将文件内容都清空后,再添加内容。而且保存过程中,可能会出现多个中间态。 对于文件更改的情况,检测内容的 md5 值,个不错的方法。...对于常见的库来说,除了不信任原生 API、使用上述技巧外,很重要的,都根据 fs.Stats 类的信息,自定义逻辑来判断文件状态,以此保证不同平台兼容性。...下面在 Node10 中,打印的文件状态信息: Stats { dev: 16777222, mode: 33188, nlink: 1, uid: 501, gid: 20,...); } }.bind(this) ); // ...省略 } 成熟的库 nodemon 参考链接 精读《如何利用 Nodejs

4.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    nodejs之async模块

    async模块是为了解决嵌套金字塔,和异步流程控制而生,常用方法有series、parallel、waterfall、parallelLimit、auto、whilst、doWhilst、forever...parallelLimit 这个方法和parallel类似,只是limit参数限制了同时并发执行的个数,不再无限并发,调用方法为:parallelLimit(tasks,limit,[callback...5秒运行完毕, 函数1和2并行,3秒执行完毕, 函数1和2执行完毕后,函数3,4依次执行共计5秒. whilst 相当于while循环,fn函数里不管同步还是异步都会执行完上一次循环才会执行下一次循环...callback(); },1000) }, function(err){ console.log(err); }); compose 这个方法会创建一个异步的集合函数,执行的顺序倒序....前一个fn的输出后一个fn的输入.有数据交互,调用方法:compose(fn1,fn2,fn3...) var task1 =function(m,callback){ console.log

    91920

    nodejs的path模块

    前言path 模块 nodejs 中用于处理文件/目录路径的一个内置模块,可以看作一个工具箱,提供诸多方法供我们使用,当然都是和路径处理有关的。...同时在前端开发中 path 模块出现的频率也是比较高的,比如配置 webpack 的时候等。本文对该模块中一些常用的方法进行介绍,走,一起学习下吧。...需要注意下,nodejs 中所有的模块(内置,自定义)都需要使用 requier 进行导入,一般导入位置在文件顶部。...dirname,filename__dirname:可以看作 nodejs 中的全局变量,它始终表示当前执行文件所在目录的完整目录名(绝对路径)__filename:可以看作 nodejs 中的全局变量...结语关于nodejs path 模块,我们今天就说到这里了,虽然 api 不是很多,但是 path 模块在前端的使用频率还是非常高的,所以觉得很值得学习了解一下的。

    93130

    NodeJS模块研究 - zlib

    nodejs 的 zlib 模块提供了资源压缩功能。例如在 http 传输过程中常用的 gzip,能大幅度减少网络传输流量,提高速度。...本文将从下面几个方面介绍 zlib 模块和相关知识点: 文件压缩 / 解压 HTTP 中的压缩/解压 压缩算法:RLE 压缩算法:哈夫曼树 文件的压缩/解压 以 gzip 压缩为例,压缩代码如下:...它的原理:记录连续重复数据的出现次数。它的公式:字符 * 出现次数。 例如原数据 AAAAACCPPPPPPPPERRPPP,一共 18 个字节。...压缩比例:12 / 17 = 70.6% RLE 的优点压缩和解压非常快,针对连续出现的多个字符的数据压缩率更高。但对于ABCDE类似的数据,压缩后数据会更大。...无论哪种数据类型(文本文件、图像文件、EXE 文件),都可以采用哈夫曼树进行压缩。 参考链接 Nodejs 文档 30 分钟 HTTP 查漏补缺之 Vary 程序员不得不了解的硬核知识大全

    1.6K31

    NodeJs-path模块

    常用函数 path模块供了一些工具函数,用于处理文件与目录的路径 path.basename:返回一个路径的最后一部分 path.dirname:返回一个路径的目录名 path.extname:返回一个路径的扩展名...\node.exe path-demo.js __filename: d:\03-BlockChain\06_nodejs课程\day43_nodejs_day01\code\Node01\path-demo.js...path-demo.js d:\03-BlockChain\06_nodejs课程\day43_nodejs_day01\code\Node01 .jpg F:\aaa\bbb\test.jpg F:...\a\b\c\d 参考 黑马程序员 120天全栈区块链开发 开源教程 https://github.com/itheima1/BlockChain 其他 今天除夕节日,明天就是春节了。...这个春节大家都不要出去乱跑了,在家呆着最安全的。为奋战在一线的医护工作者加油,他们同样父母,同样子女,真的非常不容易。大家平时多锻炼身体,注意卫生,希望大家过个祥和年。

    70520

    NodeJS模块研究 - fs

    node 的fs文档密密麻麻的 api 非常多,毕竟全面支持对文件系统的操作。文档组织的很好,操作基本分为文件操作、目录操作、文件信息、流这个大方面,编程方式也支持同步、异步和 Promise。...本文记录了几个文档中没详细描写的问题,可以更好地串联fs文档思路: 文件描述符 同步、异步与 Promise 目录与目录项 文件信息 stream 文件描述符 文件描述符一个非负整数。...与这个 api 相对应的:fs.readFile(path[, options], callback)。...ReadStream 与 WriteStream 在 nodejs 中,stream 个非常重要的库。很多库的 api 都是基于 stream 来封装的。...但是对于几 GB 的大文件,显然会有问题。 那么针对大文件的解决方案自然:一点点读出来。这就需要用到 stream 了。

    92730

    NodeJS模块研究 - stream

    nodejs 中,实现各种功能,总避免不了和“数据”打交道,这些数据可能 Buffer、字符串、数组等等。但当处理大量数据的时候,如何保证程序的稳健性?如何不让内存爆掉呢?...nodejs 提供了 stream 模块,来让开发者更优雅地处理数据。这需要开发者理解“流”的含义,遵循“流”的相关规范,来进行“流”编程。 相较于其他的模块系列,需要理解的概念偏多。...本文主要从以下几个方面深入 stream 模块: 什么“流”? 流有哪几种类型? 内部缓冲的作用? 流动模式 vs 暂停模式 背压问题 如何产生的? 如何解决背压问题?...但是,处理难度的提高换来的程序性能提升。如果通过fs.readFile()一次性将 100GB 大文件读入内存,那么可能会发生以下几个问题: 内存错误。...下面一个基于 stream,复制大文件的函数: function copyBigFile(src, dest, callback) { if (typeof callback !

    93330
    领券