npm 导下自己的包
前两天发布了一个包上去,但是现在换了电脑。想弄下来修改了再重新发布。现在的方法是 npm i <package_name> 来获取,但是这样会生成一个 node_modules 目录,并且里面还把其它依赖混合在一起。我觉得应该有一个命令是单独像发布的时候的文件结构吧——依赖全在项目的 node_modules而不是全部都在一个 node_modules 里面,看了一下npm 文档也没有找到。我该怎么操作呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一般发布包的时候,最佳实践是提供一个 repository 字段。如果你想在另一台机器上更新这个包,那么最直接的方式肯定是是从 repository 目录下拉源码然后继续维护。
直接 npm install 时,当前包和其余依赖混杂在同一个 node_modules 目录中的行为,其实是 npm 3 后提供的【拍扁依赖】的优化行为,这是符合预期的。比如你的包 A 依赖了 B,而 A 和 B 都依赖了 lodash,那么 lodash 就只会在最顶层安装一次,而不是完全根据依赖树重复安装,从而节约空间。
虽然 npm 有这种优化行为,但其实这完全不影响通过 npm install 在另一台机器上恢复原有的包内容。所安装的包虽然依赖被【拍扁】了,但其实包内容是和之前发布时完全一致且可用的。