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

npm包如何支持子路径?

时间:2023-04-03 14:59:51 Node.js

npm包如何支持子路径?到目前为止,已经看到了两种方法。其中一个redux-saga就像redux-saga/effects,它的实际资源文件在lib/cjs/effects下,但是根目录下放了一个同名的effects目录,目录下放了一个package.json,相当于一个软链接是通用的,把redux-saga/effects当作私有库,main:../lib/cjs/effects指向实际代码位置。最后根据根目录下的package.json,发布这个包。npm通过npmFileMap可以正常处理这类库,但是像gulp这样需要解析node_modules文件的可能找不到。root/package.json{"npmName":"redux-saga","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}]}效果/包。json{"name":"redux-saga/effects","private":true,"main":"../lib/effects.js","module":"../es/effects.js","jsnext:main":"../es/effects.js"}rxjs是另一个类似于rxjs/operators的解决方案。构建出lib目录时,直接复制一份package.json到lib目录下,然后在lib下npmpublish。该解决方案最终会向npm输出更少的文件,从而避免编写.npmignore。目前兼容性更强。