一种前端工程更新npm包的方法及终端技术

技术编号:22237733 阅读:22 留言:0更新日期:2019-10-09 17:41
本发明专利技术提供一种前端工程更新npm包的方法及终端,通过获取指定域名,并根据指定域名获取指定域名下的待更新npm包包名,根据待更新包包名,更新待更新包,能够更新指定域的npm包,而不会像现有技术中只能更新所有的npm包,提高了npm包更新的灵活性。

A Method and Terminal for Updating NPM Packets in Front End Engineering

【技术实现步骤摘要】
一种前端工程更新npm包的方法及终端
本专利技术涉及软件设计领域,尤其涉及一种前端工程更新npm包的方法及终端。
技术介绍
在现代前端工程中,通过npm进行工程管理已经是非常普遍的现象。为了更好的复用代码,每个团队都会制作自己的npm包,并且将npm包发布到指定的域中,比如A团队会将自己团队的包发布到域:@teamA,B团队会将自己团队的包发布到域:@teamB。npm默认提供了一个npm包更新工具(npmupdate),这个包更新工具会将当前工程所有的包进行更新,但是有的时候,团队只希望更新某个域下的包,比如只更新@teamA这个域下的所有包,而保持其他包不变。然而,现有的更新方法并无法实现。
技术实现思路
本专利技术所要解决的技术问题是:提供一种前端工程更新npm包的方法及终端,能够更新指定域的npm包,提高了npm包更新的灵活性。为了解决上述技术问题,本专利技术采用的一种技术方案为:一种前端工程更新npm包的方法,包括步骤:S1、获取指定域名;S2、根据所述指定域名,获取所述指定域名下的待更新npm包包名;S3、根据所述待更新的npm包包名,更新所述待更新包。为了解决上述技术问题,本专利技术采用的另一种技术方案为:一种前端工程更新npm包的终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:S1、获取指定域名;S2、根据所述指定域名,获取所述指定域名下的待更新npm包包名;S3、根据所述待更新的npm包包名,更新所述待更新包。本专利技术的有益效果在于:通过获取指定域名,并根据指定域名获取指定域名下的待更新npm包包名,根据待更新包包名,更新待更新包,能够更新指定域的npm包,而不会像现有技术中只能更新所有的npm包,提高了npm包更新的灵活性。附图说明图1为本专利技术实施例的一种前端工程更新npm包的方法的步骤流程图;图2为本专利技术实施例的一种前端工程更新npm包的终端的结构示意图;图3为本专利技术实施例的前端工程的node_modules的目标结构示意图;标号说明:1、一种前端工程更新npm包的终端;2、存储器;3、处理器。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。名词解释:JavaScript(js):一种可以被浏览器执行的程序语言;nodejs:一种让服务端可以执行js的技术,在前端开发中,我们使用nodejs模拟正式的服务端环境;npm包:js代码编写的解决某个特定功能的库;npm仓库(包仓库):一个服务器,里面存储了非常多的npm包;scope(域):把包放到scope中,就好比将文件放到文件夹中,所以scope类似文件夹的概念,用于方便的管理npm仓库中的包;npm:用于安装、发布、更新、管理npm包的工具;node_modules文件夹:在前端工程目录结构中,所有下载的npm包,都放在这个文件夹下,其目录结构中,如果一个包没有scope,那么第一层文件夹的名字就是包名;否则第一层文件夹的名称是scope的名称,第二层文件夹的名称才是包名。请参照图1,一种前端工程更新npm包的方法,包括步骤:S1、获取指定域名;S2、根据所述指定域名,获取所述指定域名下的待更新npm包包名;S3、根据所述待更新的npm包包名,更新所述待更新包。从上述描述可知,本专利技术的有益效果在于:通过获取指定域名,并根据指定域名获取指定域名下的待更新npm包包名,根据待更新包包名,更新待更新包,能够更新指定域的npm包,而不会像现有技术中只能更新所有的npm包,提高了npm包更新的灵活性。进一步的,所述步骤S1包括:获取外部传入的参数,解析所述传入的参数,判断所述传入的参数是否为空,若否,获取解析得到的指定域名,判断在所述前端工程的预设目录下是否存在与所述指定域名匹配的文件夹,若是,则执行步骤S2,否则,直接退出。由上述描述可知,通过参数的传入实现对指定域名的提取,方便快捷,并且如果提取不到域名,则程序直接退出,在无法运行的情况下直接退出程序,避免无谓的资源消耗,提高了资源的有效利用率。进一步的,所述步骤S2包括:根据所述指定域名,遍历所述指定域名下的第一层文件夹的文件名,得到待更新文件夹列表;遍历所述待更新文件夹列表中的待更新文件夹,读取每一个待更新文件夹下的.json文件,解析所述.json文件,得到name属性;根据得到的每一个待更新文件夹对应的name属性确定所述指定域名下的待更新npm包包名。由上述描述可知,在前端工程目录结构中,如果一个包有对应的域scope,则在前端工程目录结构下的node_modules文件夹下的第一层文件夹的名称就是scope的名称,第二层文件夹下的名称就是包名,而包名可以通过解析第二层文件夹下的.json文件获取,所以通过对指定域名下的第一层文件夹中每一个文件夹下的.json文件的解析,能够准确快速自动地得到待更新npm包的包名。进一步的,所述步骤S3包括:将所述待更新的npm包包名按照预设规则组合成所述待更新包对应的包名序列,采用npmupdate+包名序列的命令形式更新所述待更新包。由上述描述可知,通过对所有待更新的npm包的包名进行预设规则的组合,形成包名序列,然后通过npmupdate+包名序列的命令形式就能够实现一次性对指定域下的所有npm包进行更新,简便快捷。进一步的,所述步骤S3还包括:创建子进程,让所述子进程执行待更新包的更新命令。由上述描述可知,通过另外创建子进程执行待更新包的更新命令,能够进一步提高更新速度,避免与常规包更新产生冲突。请参照图2,一种前端工程更新npm包的终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:S1、获取指定域名;S2、根据所述指定域名,获取所述指定域名下的待更新npm包包名;S3、根据所述待更新的npm包包名,更新所述待更新包。从上述描述可知,本专利技术的有益效果在于:通过获取指定域名,并根据指定域名获取指定域名下的待更新npm包包名,根据待更新包包名,更新待更新包,能够更新指定域的npm包,而不会像现有技术中只能更新所有的npm包,提高了npm包更新的灵活性。进一步的,所述步骤S1包括:获取外部传入的参数,解析所述传入的参数,判断所述传入的参数是否为空,若否,获取解析得到的指定域名,判断在所述前端工程的预设目录下是否存在与所述指定域名匹配的文件夹,若是,则执行步骤S2,否则,直接退出。由上述描述可知,通过参数的传入实现对指定域名的提取,方便快捷,并且如果提取不到域名,则程序直接退出,在无法运行的情况下直接退出程序,避免无谓的资源消耗,提高了资源的有效利用率。进一步的,所述步骤S2包括:根据所述指定域名,遍历所述指定域名下的第一层文件夹的文件名,得到待更新文件夹列表;遍历所述待更新文件夹列表中的待更新文件夹,读取每一个待更新文件夹下的.json文件,解析所述.json文件,得到name属性;根据得到的每一个待更新文件夹对应的name属性确定所述指定域名下的待更新npm包包名。由上述描述可知,在前端工程目录结构中,如果一个包有对应的域scope,则在前端工程目本文档来自技高网
...

【技术保护点】
1.一种前端工程更新npm包的方法,其特征在于,包括步骤:S1、获取指定域名;S2、根据所述指定域名,获取所述指定域名下的待更新npm包包名;S3、根据所述待更新的npm包包名,更新所述待更新包。

【技术特征摘要】
1.一种前端工程更新npm包的方法,其特征在于,包括步骤:S1、获取指定域名;S2、根据所述指定域名,获取所述指定域名下的待更新npm包包名;S3、根据所述待更新的npm包包名,更新所述待更新包。2.根据权利要求1所述的一种前端工程更新npm包的方法,其特征在于,所述步骤S1包括:获取外部传入的参数,解析所述传入的参数,判断所述传入的参数是否为空,若否,获取解析得到的指定域名,判断在所述前端工程的预设目录下是否存在与所述指定域名匹配的文件夹,若是,则执行步骤S2,否则,直接退出。3.根据权利要求1所述的一种前端工程更新npm包的方法,其特征在于,所述步骤S2包括:根据所述指定域名,遍历所述指定域名下的第一层文件夹的文件名,得到待更新文件夹列表;遍历所述待更新文件夹列表中的待更新文件夹,读取每一个待更新文件夹下的.json文件,解析所述.json文件,得到name属性;根据得到的每一个待更新文件夹对应的name属性确定所述指定域名下的待更新npm包包名。4.根据权利要求1所述的一种前端工程更新npm包的方法,其特征在于,所述步骤S3包括:将所述待更新的npm包包名按照预设规则组合成所述待更新包对应的包名序列,采用npmupdate+包名序列的命令形式更新所述待更新包。5.根据权利要求1所述的一种前端工程更新npm包的方法,其特征在于,所述步骤S3还包括:创建子进程,让所述子进程执行待更新包的更新命令。6.一种前端工程更新npm包的终端,包括存储器、处理器以...

【专利技术属性】
技术研发人员:刘德建陈铭陈耀灿郭玉湖
申请(专利权)人:福建天泉教育科技有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1