CNPM 的自定义包存储层文件系统简称 NFS,我猜是 NPM File System 的意思。在之前《跟我一起部署和定制 CNPM——基础部署》中提到过,CNPM 配置项里面有一项配置nfs,它所对应的是一个 NFS 对象。在同步 package 的时候,CNPM 会把源站的包下载到本地,然后传给 NFS 对象相应的函数交予去处理,由 NFS 对象返回处理结束之后该包在我们自己部署的 CNPM 对应的包下载链接。上面的这一套流程就给我们自定义包存储提供了可能,比如我们可以把包同步到又拍云存储、阿里云 OSS 等地方去,也可以以二进制的形式存入我们自己的数据库(不推荐),甚至可以什么都不用做直接放在本地,然后把本地文件对外网暴露即可。NFS 接口NFS 的接口是实现定义好的,我们如果要写一个自己的 NFS 类,只需要按照约定的接口实现他们的逻辑即可。虽然我自己不喜欢,但是 NFS 的所有函数需要在菊花函数中被实现。下面给出接口的定义:function* upload(filepath, options)filepath:文件路径。optionskey:待上传文件的标识size:待上传文件大小function* uploadBuffer(fileBuffer, options)fileBuffer:待上传文件的 Bufferoptionskey:待上传文件的标识size:待上传文件的
...
继续阅读
(48)