当前位置: 首页 > 后端技术 > Node.js

npm如何只发布语雀文档序言中最先发布的打包dist

时间:2023-04-03 10:37:32 Node.js

因为项目需要,自己写了一个基于umi-request的统一请求插件,但是公司的私有库还没有搭建,虽然暂时可以通过webpackalias引用来解决,但是为了其他同学们赶紧拉我的插件,我暂时只能上传dist到npm仓库。有两种方法。.npmignore(黑名单方式)pkg.files(白名单方式)黑名单方式.npmignore意思是:在项目根目录下新建一个名为.npmignore的文件,使用和.gitignore一样的写法,不想上传将npm仓库文件记录在其中。白名单方法pkg.files是:在package.json中新建一个名为files的属性,将要上传到npm仓库的文件记录在一个数组中。备注如果您的项目比较复杂、比较深,手动添加白名单可能会漏掉一些文件。推荐使用ypkgfiles自动生成pkg.files。ypkgfiles的原理很简单。通过主入口查找所有相关依赖,然后获取一级文件或目录生成pkg.files。ypkgfiles还提供了--entry参数来支持一些特定的场景,比如以下场景是ypkgfiles无法识别的。比如某个目录是模板文件,不是通过require加载的。例如,mz模块使用require('mz/fs'),这个文件不包含在主requireegg目录中,由egg加载器加载。使用--entry添加这些文件或目录,比如eggproject$ypkgfiles--entryapp--entryconfig--entry*.js不同的可以根据自己的业务场景选择,还是很容易区分的.比如你是一个开源项目,所有的文件都会上传。如果使用第二种方法,package.json会变得很大。比如你是一个机密项目,只想上传打包好的dist文件,如果你用第一种方式,写.npmignore的时候会很头疼。查看如何过滤npm发布文件