利用shrinkwrap锁定依赖版本
前言对于web developer来说,代码依赖管理一直都是个头疼的问题。自前端代码模块化开发以来,前端依赖管理也从原始的手动加载维护演化为基于模块仓库和工具的自动管理。目前相对比较流行的包管理工具是bower和npm。 bower && npm
bower的完全面向web的包管理工具。本身并不存储模块代码,对包结构也无强制规范。安装的依赖默认存储在
bower_components 目录下,存储特点是扁平化的依赖结构,如果依赖库相互之间有版本冲突,bower会提示用户并让用户仲裁版本。
由于本身的设计缺陷无法满足复杂项目的构建需求,bower在社区也越来越不流行,但还有一些依赖只能通过bower安装(比如ember的一些库)。 npm起初是Node.js生态的包管理器,后来随着同构js库的发展,npm已经发展成了JavaScript生态的包管理器。npm模块遵循CommonJS规范,代码统一发布到npm仓库。安装的依赖存储在 node_modules 目录下,依赖采用树形结构存放,也就是同一个依赖可能会存在不同的版本,对于web开发者来说要注意代码冗余。
npm 锁定依赖版本为此,npm提供了 npm shrinkwrap npm shrinkwrap--dev//将dev-dependencies计算在内 shrinkwrap会在根目录生成 注意项
bower 锁定版本bower官方并未提供该功能,这里提供下社区贡献的方案:bower-shrinkwrap-resolver
{ "resolvers": [ "bower-shrinkwrap-resolver" ] } 之后执行bowerinstall,会自动生成 ? ? 注明出处:利用shrinkwrap锁定依赖版本 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |