<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          引入gitlab倉庫代碼到npm包的教程

          共 3343字,需瀏覽 7分鐘

           ·

          2022-06-25 17:30

          背景介紹

          隨著人類地發(fā)展,社會(huì)地進(jìn)步,計(jì)算機(jī)技術(shù)地更新迭代,每一片碼海里都有它寶貴的財(cái)富,每一座碼山里都有著各自的秘密。怎么守住財(cái)富,隱藏一些秘密,成了一些開發(fā)人員所關(guān)心的事情。

          需求分析

          簡(jiǎn)單地說,有這樣一個(gè)需求,我期望在項(xiàng)目中引入一個(gè)模塊,這個(gè)模塊我又不高興給一些無關(guān)的人員看到,想想辦法,我調(diào)研了下有這么些可行的辦法。

          • 結(jié)合cnpm,搭建npm私有倉庫

          • 用Nexus管包,同時(shí)JAVA、Go等等語言的包它也可以管

          • 用Verdaccio搞一下

          • 用GitHub、gitlab之類的倉庫作為代碼包引入

          今天我們著重介紹用GitHub、gitlab之類的倉庫作為代碼包引入,文中是以gitlab為例。

          以u(píng)tils包為例,把它搞私有

          如圖所示,我們基于gitlab創(chuàng)建一個(gè)通用工具包項(xiàng)目-utils,這里因?yàn)槲宜诘倪@個(gè)環(huán)境它需要連接華為的VPN才可以訪問,所以我就給它public了,如果說你是公網(wǎng)的一個(gè)環(huán)境,那我建議你選private。

          在創(chuàng)建完項(xiàng)目以后呢,你把它克到你本地, 然后執(zhí)行npm init命令進(jìn)行項(xiàng)目初始化工作,具體的你可以看下下面截圖,對(duì)應(yīng)著改改package name,description,等等屬性。

          這里插一個(gè)git知識(shí)點(diǎn)啊,你是不是覺得每次提交輸入賬號(hào)密碼很煩呢,那其實(shí)你也可以配置下ssh,具體的操作如下(以windows為例),WIN+R輸入cmd然后執(zhí)行ssh-keygen -o -t rsa -b 4096 -C "你的git倉庫郵箱",然后就是一路回車,執(zhí)行cat ~/.ssh/gitlab/id_rsa.pub | clip命令去拷貝生成的公鑰(這里我選的不是默認(rèn)地址,如果你是一路回車的話,應(yīng)該是這個(gè)地址 ~/.ssh/id_rsa.pub

          具體的步驟我記錄了下,你可以參考下(額,已經(jīng)做模糊化處理,郵箱瞎寫的)

          PS D:\gitlab\base> ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
          Generating public/private rsa key pair.
          Enter file in which to save the key (C:\Users\ataola/.ssh/id_rsa): C:\Users\ataola/.ssh/gitlab/id_rsa
          Enter passphrase (empty for no passphrase):
          Enter same passphrase again:
          Your identification has been saved in C:\Users\ataola/.ssh/gitlab/id_rsa.
          Your public key has been saved in C:\Users\ataola/.ssh/gitlab/id_rsa.pub.
          The key fingerprint is:
          SHA256:L4+LRA/YbDiVhwZ4EPNczFmwFPUiKUkYR3MCe6xaGNs [email protected]
          The key's randomart image is:
          +---[RSA 4096]----+
          |  *OBo**o        |
          |  oO.O+= .       |
          |. ..B O o .      |
          | = o O o .       |
          |o E + * S        |
          | o   + o .       |
          |.     . o .      |
          |     . . +       |
          |      . o..      |
          +----[SHA256]-----+
          PS D:\gitlab\base>



          cat ~/.ssh/gitlab/id_rsa.pub | clip

          把對(duì)應(yīng)的公鑰拷貝到剪貼板以后呢,去gitlab的user settings下的SSH Keys下面粘貼一下,如下圖所示。

          配置成功后,喜提郵件一封。

          配置完以后,創(chuàng)建一個(gè)index.js文件,隨便寫點(diǎn)東西吧,我這里是寫了個(gè)加法做測(cè)試。

          function add(a, b{
            return a + b;
          }

          module.exports = {
           add
          }

          然后你就可以提交代碼了

          git add .
          git commit -m "feature: 初始化utils包"
          git push

          創(chuàng)建一個(gè)項(xiàng)目,引入樓上的utils包

          接下來,我們需要?jiǎng)?chuàng)建一個(gè)項(xiàng)目去引入樓上創(chuàng)建的utils包,創(chuàng)建的過程你可以參考樓上創(chuàng)建utils包的過程,搞完以后呢,你可以命令執(zhí)行npm install git+你的倉庫地址,也可以直接人肉寫到package.json里面,然后執(zhí)行npm install

          為了讓大家更直觀地看到結(jié)果,我貼張最后的圖吧。最左邊是我創(chuàng)建了一個(gè)index.js文件做引入utils包的測(cè)試,左下方是執(zhí)行node index.js后輸出的結(jié)果,右邊是安裝了私有庫后package.json的模樣

          嗯,是的,是不是覺得最后執(zhí)行的命令太長了記不住啊,其實(shí)如果你在linux環(huán)境下,結(jié)合tmux或者screen做下分屏,那就很簡(jiǎn)單直觀了,直接切半屏,執(zhí)行node index.js就可以看到結(jié)果了。

          除了樓上的方法:execute '!node index.js > out.txt'也可以試下,它主要是執(zhí)行了node命令后,把結(jié)果輸出到out.txt文件里,然后你再打開也是能看到結(jié)果的。

          vim水平有限,這里留下一個(gè)思路供讀者實(shí)現(xiàn),其實(shí)你可以配置到vimrc文件下,然后通過一些快捷鍵去簡(jiǎn)化記憶,這樣子會(huì)方便很多。

          最后

          回顧下,我們主要是提出了建立私包的構(gòu)想,然后結(jié)合gitlab搞了一個(gè)私包,再新建一個(gè)項(xiàng)目引入去測(cè)試我們搞得還行嘛,中間也穿插了一些git、vim的知識(shí),希望能在搞私包的時(shí)候幫到你。


          瀏覽 68
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  女人天堂网在线 | 中文字字幕一区二区三区四区五区 | 手机免费AV片 | 中国一级大黄片 | 中国毛片网站 |