NPM|如何添加、使用私有github库

问题

网络上找到一些项目有的很久没有更新,或者一些功能想增强,这时候就可以直接在源代码上修改并导入到自己项目中,比如我最新想用一个抖音的包:

https://github.com/hotoo/pinyin

发现其分隔不能满足自己的要求,也就是说其会把空格连同标点符号合在一起,比如第二行的

'   ['

image-20210915094629770

而我想要的就是split之后的分隔,看了文档和代码,发现并没有这种简单的分隔,研究之后,发现修改源代码最为方便。

源码增强-fork并修改npm拼音库

直接查看需要修改的源代码,右侧有个edit the file in your fork of this project。

image-20210915100032339

点击进入编辑状态后,就可以直接修改代码了:

image-20210915100244125

为看得更清楚,可以点击Preview changes来看看哪些地方改变了。

image-20210915101610381

最后就可以在下面写上你的更改说明,提交修改了。同时还可以发起一个pull request。注意看上面的英文提示,因为没有写权限,所以github会为你自动fork并生成分支。

image-20210915101749414

这样就在不改变源代码功能的基础上,添加了一个小功能。

看看自己的fork项目,自己修改的代码已经在其中。

image-20210915101837296

npm导入自己的github库

  "dependencies": {
    "pinyin": "https://github.com/dayudodo/pinyin.git#patch-1",

注意后面要加上patch-1, 这是一个分支。没有的话,默认是用master,这样安装后没有效果。

安装

记得安装更新下!

npm install
//或者
yarn install

正常工作了

空格与标点符号单独成为一项,这样可以方便的生成与汉字对应的json。

image-20210915103034444

好处

  • 不用等待他人的代码合并,自己先用起!

  • 不用发布到npm

  • 对一些不想发布到npm中去的项目来说,比如公司内部项目,或者个人使用的小项目,可以引用私人库,需要把https前缀改成git+ssh,比如

{
  ...
  "dependencies": {
    "private": "git+ssh://git@github.com:someuser/someproject.git#v0.1.1",
  },
  "devDependencies": {
    ...
  }
}

版权声明:本文为weixin_42293131原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。