简介
npm(Node Package Manager)是一个集中管理前端依赖库的工具,而UPS则是一款基于npm的前端资源版本管理工具。它主要提供了一个规范的前端资源版本号管理机制和自动化依赖版本更新机制。在前端项目中使用UPS,不仅可以有效规范化项目依赖,提高开发效率,还可以降低通信资源和服务器流量的使用,避免因版本号混乱而导致的问题。
安装
在使用UPS之前,需要先安装npm,这里就不再赘述。安装UPS很简单,只需在命令行中输入以下命令:
npm install ups -g
-g 表示全局安装。
使用
初始化依赖:
在工程目录下开启命令行,输入以下命令:
ups init
这条命令会在你的当前工程目录下面新建一个 ups.json
文件。它是一个 json 格式的配置文件,用于记录当前项目中依赖的npm包以及它们的版本信息。接下来我们就可以利用这个配置文件来实现自动化依赖管理。
安装和使用已有的npm包:
当我们需要安装已有的npm包时,可以使用以下命令:
npm install packageName --save-dev
由于我们已经创建了 ups.json
文件,因此我们只需要将 --save-dev
改为 --save-up
,即:
npm install packageName --save-up
这样npm就会自动为每个包生成一个对应的版本号,然后更新 ups.json
,将该包添加进依赖列表。而UPS会将这个包版本号存储在一个名为 upms
的名字空间下。
检查更新和升级:
使用UPS,可以轻松检查是否有可用更新:
ups check
UPS 将根据 ups.json
文件中列出的所有包循环执行 npm outdated
命令,并与upms中保存的版本号作比较。如果发现有差异,UPS会联网获取最新版本信息并提示用户更新。
当 UPS 发现更新时,我们可以使用以下命令升级依赖包:
ups upgrade packageName
该命令会自动找到最新的包版本,并更新 ups.json
中的对应版本号。
部署和回滚
当我们部署代码时,我们可以将其依赖包的整个版本库一起托管到远程 git 仓库。代码检出后,我们可以在项目目录下运行 npm install
命令安装所有依赖。
在出现问题时,我们可以轻松回滚或者恢复到一组尽可能靠谱的资源版本状态。比如回到某个标签:
ups tag verisonTag
该命令会将 ups.json
回滚到指定的 versionTag
标签处。可以在要回滚到的标签上运行 ups tag
,然后检查 ups.json
是否回到了我们想要的状态。
示例代码
{ "name": "my-project", "description": "A project powered by ups", "dependencies": { "jquery": "^3.5.1" } }
在使用 npm install jquery --save-up
命令安装 jQuery 后,ups.json
文件中将更新 upms
结构如下:
-- -------------------- ---- ------- - ------- ------------- -------------- -- ------- ------- -- ----- --------------- - --------- -------- -- ------- - --------- - ---------- --------- ------ ------------------------------------------------------- --------------- -- - - -
运行 ups check
命令时,当有框架或库可以更新时,以下是 UPS 的典型输出:
-- -------------------- ---- ------- - --- ----- -------- --- -------- --- --- -------- -------------------------------------------------------------------------------------- - ------- - -------- ------ - ------ - --- ------- ----------- - -------- - -------------------------------------------------------------------------------------- - ------ - ----- - ----- - ----- - ----- - ------ - ----------- - - ----- - ------ - ------ - ------- - ------- - ----- - ----------- - - --------- - ------ - ------ - ------- - ------- - ----- - ----------- - --------------------------------------------------------------------------------------
在发现更新后,可以使用 ups upgrade
命令升级依赖包,如下:
$ ups upgrade jquery upgrading jquery to 3.6.0 successfully upgraded jquery
在完成更新和升级后,我们可以对 ups.json
文件进行版本控制,并在提交到代码库的同时及时同步资源版本更新的信息。
总之,使用UPS来管理JS资源很容易。通过统一管理npm包的版本号,我们可以不必担心版本控制的混乱,而只需关心与前端程序的设计和实现。相信UP的使用会在以后的前端项目中大放光彩!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/75311