3. 企业级 npm 服务在阿里的实践.pdfVIP

  • 7
  • 0
  • 约3.92千字
  • 约 55页
  • 2016-01-19 发布于山西
  • 举报
3. 企业级 npm 服务在阿里的实践

企业级 NPM 服务在阿里的实践 何翊宇(不四) dead-horse deadhorse_busi 2B码农死⼩⻢ 数据魔方 淘宝时光机 我的支付宝 天猫首页 • 淘宝收藏夹 • 淘宝指数 • 天猫移动版首页 • … 什么是 NPM? 模块管理工具 模块中心仓库 模块查询网站 为什么需要私有NPM? • 快速稳定的中心仓库服务 • 共享私有模块 • 保证对所有模块的可控性 • 文档的集中展示 git • 需要开放所有仓库的访问权限 • 不支持 semver 版本化区间 • 代码可能随意被覆盖 到底需要什么? • 一个快速 、稳定 ,可以发布私有模块的中心仓库 • 模块查询,文档浏览的网站 • 定制化、更友好的客户端 动手! 基于 CouchDB full sync NPM Couch publish install publish install install request publish User Admin • 无法自动同步(网络原因) • couchDB 不稳定,难维护 • 难以定制化实现权限接入等其他功能 • 缺少模块搜索和文档托管页面 package.json *.tgz P o w e r e d by 保持 NPM 接口不变 MySQL + CDN 可水平扩展 CNPM v0 full sync CNPM NPM v0 install publish request sync publish install install request publish User Admin 全量同步 • 每隔十分钟 自动同步一次 • 手动通过 cnpm sync 命令行工具同步 • 安装不存在的版本,自动触发同步 • web 页面点击同步按钮 遗留问题 • 发布的私有模块与公共模块冲突 • 无法准确知道模块由谁发布 • NPM@2 客户端工具支持带有命名空间 • CNPM registry 增加了命名空间支持 • 所有的私有模块只允许发布到指定命名空间 • CNPM 支持接入自定义用户系统 • npm 的请求可以接入企业内部用户系统 • npm adduser 实名认证 CNPM v1 full sync CNPM NPM

文档评论(0)

1亿VIP精品文档

相关文档