系列文章目录

Android打造专有hook,让不标准的代码扼杀在萌发之中

Android打造专有hook第二篇,走进标准第一步

Android打造专有Hook第三篇,实战全量代码标准检查

Android打造专有Hook第四篇,实战增量代码标准检查

Hello啊各位老铁,缓不济急了,前边的四章,大致概述了完结的进程以及最终的作用展现,能够负责任的说,根本上能够满足咱们的实际需求,毕竟都是一些根本的标准验证,可是做到百分之百的准确率,这个暂时还达不到,毕竟是在脱离了项目,脱离了语言的情况下进行另类的标准验证,做到现在的这种,自我感觉现已很能够了,当然了,必定还有优化的空间。

基于前四章,咱们现已开宣布了相关的功用,在本地,咱们也是能够运用的,可是开宣布的这套标准,怎么让他人运用呢?复制给他人?放到一个链接中,让他人下载后运用?当然是能够的,可是21世纪的今日,这种方法的确有点Low了,有没有一种既简略又方便的方法呢?有,必须有,今日,咱们就一同把前边完结的功用,发布至npm,经过npm简略的指令,提供给他人下载运用。

今日的内容大约如下

1、简略了解npm

2、已有项目发布流程

3、新项目发布流程

4、更新和删去组件

5、npm常见的指令

6、问题总结

简略了解npm

官网:www.npmjs.com/

npm 是 JavaScript 的包管理工具,并且是 Node.js 渠道的默许包管理工具。经过 npm 能够装置、共享、分发代码,管理项目依靠关系,其实就相似于Android中的Maven依靠,无非便是把功用托管到长途,本地之间下载装置即可,方便开发者快捷运用,这个没啥好阐述的。

已有项目发布流程

咱们当时的项目便是属于现已开发好的项目,咱们看下项目目录,具体的文件内容,咱们能够回忆前边几章内容。

Android专有GitHook完结篇,发布到npm

1、注册账号

已然要发布到npm,必定要先去注册账号,跟Android中的aar发布到长途Maven相似,没有一个渠道的账号,是无法履行下一步的。

咱们能够去到官网,或许直接点击下面的注册页面,填写相关信息进行注册。

www.npmjs.com/signup

Android专有GitHook完结篇,发布到npm

这个邮箱很重要,由于每次你发布相关信息都会经过邮箱下发告诉到你,同样的,登录获取验证码,找回暗码等也是经过这个邮箱。

我是比较引荐这种注册方法的,可视化,直观,当然了,除了这种的注册方法之外,还有一种是经过指令的方法注册。

指令:

npm adduser

具体履行:

Android专有GitHook完结篇,发布到npm

2、登录账号

注册好账号之后,履行登录即可,输入自己注册时的用户名,暗码,邮箱,然后输入验证码即可。

指令:

npm login

具体履行:

Android专有GitHook完结篇,发布到npm

3、发布包到npm包服务器

指令:

npm publish

具体履行:

Android专有GitHook完结篇,发布到npm

上述的履行流程便是发布成功之后的截图,当最终一行出现了,你的组件名字和版别号即为发布成功,这个组件的名字,便是你的package.json文件中的name。

Android专有GitHook完结篇,发布到npm

发布成功之后,登录npm官网,就能够检查到自己刚才发布成功之后的组件了,如下图:

Android专有GitHook完结篇,发布到npm

点击之后,右侧会展现一些根本的信息,如下载装置的指令,版别号,巨细等。

Android专有GitHook完结篇,发布到npm

至此,咱们的项目现已成功发布到npm官网了,其他人再有node.js环境的基础上,就能够经过下载装置指令,很快捷的装置了。

npm i android_git_hook

新项目发布流程

新项目的发布流程其实和已有项目根本流程是相同的,无非便是前边的创建项目进程,关于项目的创建,在前边的第二章中有过概述,这儿再简略的陈列一下。

初始化npm

一个新的项目,一开始必定是空的,找一个空的目录,履行初始化指令:

npm init

当履行npm init时,会依照过程,让输入许多东西,如果你不想一步一步输入,每次直接回车即可,横竖也是能够修正的。

如果想进行一步一步输入,具体流程如下,中心不想输入,能够回车略过:

package name 包名,也便是工程名,默许是括号中的内容
version:版别号,默许是括号中的内容 
description:描绘信息 
entry point:进口文件名,默许是括号中的内容 
test command:测验指令 
git repository:git仓库地址 
keywords: 暗码 
author: 作者名字 
license: (ISC)许可证

具体的履行就不截图了,本身便是一步一步来履行,后续的package.json也是能够随意更改的,拿一个之前的项目履行的比如,给咱们看一下:

Android专有GitHook完结篇,发布到npm

项目初始化之后,你就会发现,你的空目录下,出现了一个package.json文件,这个里边有许多至关重要的信息,咱们能够回忆下第二章内容,这儿就不赘述了。

初始化好了npm,剩余的便是写代码的进程了,写好代码然后进行发布到npm,就和已有项目发布流程相同的,咱们直接看已有项目发布流程即可。

更新和删去组件

组件的完结必定不是一蹴即至的,有可能会继续好几个版别,那么,咱们怎么进行更新代码以及运用者怎么更新到最新的版别呢?

开发者在更改了最新的代码之后,需求更改package.json文件的版别号,然后重新发包即可,也便是重新履行npm publish指令。

Android专有GitHook完结篇,发布到npm

运用者更新到最新版别,履行下面的指令即可,android_git_hook为你的package.json文件中的name。

npm update android_git_hook --save-dev

运用者如果不想用了,能够履行下面的卸载操作。

npm uninstall android_git_hook --save-dev

也能够删去指定的版别

npm unpublish 包名@版别号

或许删去整个包

npm unpublish 包名 --force

npm常见的指令

关于常用到的npm指令,之前多多少少都介绍过,这儿简略总结一下。

初始化npm
npm init
登录与退出登录npm(先注册)
npm login //登录要用户名暗码邮箱及验证码
npm logout
装置包
npm i 包名
npm i 包名 -D  //开发模式
装置包某一个包
npm install pre-commit
卸载某一个包
npm uninstall 包名
npm i 包名@1.1.1(指定版别号,能够一个数字表明大版别)
npm i 包名 -g //表明大局模式装置,卸载时也要-g
更新某一个包
npm update android_git_hook
发布包与将发布包删去
npm publish //在该包的终端下运行
npm unpublish 包名 -force
检查包版别和所有版别
npm view 包名 version
npm view 包名 versions

问题总结

依照正常的履行流程,咱们应该都能走的通,可是,必定也有一些意外的发生,下面列举几个常见的错误,咱们在发布的进程中,能够进行避免。

1、运用npm 指令注册:npm adduser

如果用户名被他人注册过,那么报答如下错误:Unable to authenticate, need:Basic

Android专有GitHook完结篇,发布到npm

处理方法,换一个用户名。

2、 npm publish

如果报错:’You do not have permission to publish “mypackage1”. Are you logged in as the correct user?’

Android专有GitHook完结篇,发布到npm

表明包’mypackage1‘现已在包管理器现已存在被他人用了,需求更改包称号,也便是去把package.json文件中的name,改一下。

Android专有GitHook系列就暂时完结了,后续有时间会专门再做一下优化,由于有一些细节性的标准匹配并不是很完美,好了老铁们,这篇就分享到这儿,咱们下篇见。