我發佈了一個毫無心義的npm包

這是我參與更文挑戰的第2天,活動詳情查看: 更文挑戰前端

最近幾個月一直在作前端的項目,而後在安裝依賴的時候便打出命令 npm install xxx 來進行局部或者全局安裝就好了,甚至在包含package.json文件的項目中執行 npm ci 就自動引入依賴了。嗯,我就在想,我能夠發佈npm包嗎?接着,便進行了一次毫無心義的嘗試,僅做記錄。git

前期調研

那麼首先就是,怎麼發佈一個npm包呢?github

步驟以下:npm

  • 第一步,註冊一個npm帳號,免費的
  • 第二步,新建一個項目,並經過 npm init 進行項目的初始化配置
  • 第三步,進入項目目錄,執行 npm publish 即可以發佈到 npm 公共倉庫進行下載了(網站地址:www.npmjs.com/)

注:在操做過程當中可能遇到各類各樣的小問題,不過大體看一眼報錯日誌就能解決了,簡單步驟就這三步。 下面具體介紹。json

建立一個無心義的項目

既然沒有什麼意義,那趣味性必定要有,因而便參考了github上的一個項目:five ,我建立一個項目 twomarkdown

接着即是完善這個項目了。除此以外,我搜了一下npm,發現「two」這個名字已經有人取了,便不得再也不想一個,不然發佈便會失敗,而後就加了一個前綴「monkey-two」。ide

初始化項目

  • 建立項目目錄 ./monkey-two
  • 進入項目目錄,執行 npm init

_20190126204230 而後一步步執行就好了,最終會自動幫咱們生成一個package.json文件,敲入yes或者直接回車就好了。 _20190126204648函數

完善項目

  • 建立index.js之類的文件,在此文件中引入 two.js ,而後全部的主要函數和實現都在此文件中完成
  • 編寫測試,一個優(wu)秀(liao)的項目怎麼能沒有測試呢?添加 test.js 文件,本項目的測試是用 mocha 來進行的
  • 編寫README.md,這個文件主要是說明該項目的使用方法以及適用場景,並且特別特別重要的是,必定要吸睛,這一點我還沒作好,從此會完善的,好比加上各類標籤、增長色彩和圖片什麼的

這項目能幹啥

Basic 2(基礎數字2)
two(); // 2
two.valueOf(); // 2
複製代碼
Addition(加法)
two() + two(); // 2 + 2 = 4
two.add(1); // 1 + 2 = 3
two.add(2); // 2 + 2 = 4
two.add(3); // 3 + 2 = 5
two.add(10, 5); // 10 + 5 = 15
複製代碼
Subtraction(減法)
two() - two(); // 2 - 2 = 0
two.subtract(1); // 1 - 2 = -1
two.subtract(2); // 2 - 2 = 0
two.subtract(3); // 3 - 2 = 1
two.subtract(10, 5); // 10 - 5 = 5
複製代碼
Multiplication(乘法)
two() * two(); // 2 * 2 = 4
two.times(1); // 1 * 2 = 2
two.times(2); // 2 * 2 = 4
two.times(3); // 3 * 2 = 6
two.times(10, 5); // 10 * 5 = 50
複製代碼
Multiplication(除法)
two() / two(); // 2 / 2 = 1
two.divide(1); // 1 / 2 = 0.5
two.divide(2); // 2 / 2 = 1
two.divide(3); // 3 / 2 = 1.5
two.divide(10, 5); // 10 / 5 = 2
複製代碼
Power(冪運算)
two.power(); // 2
two.power(3); // 8
two.power(10); // 1024
複製代碼
Square(開平方)
two.square(); // 1
two.square(4); // 2
two.square(1024); // 32
複製代碼
Different radices(基數)
two.base(2); // 10
two.base(8); // 2
two.base(10); // 2
two.base(16); // 2
# the base is 2(二進制)
two.baseOf(); // 01  # default 1
two.baseOf(10); // 1010
複製代碼
Different sorts of 2(花式輸出2)
two.upHigh(); // ²
two.downLow(); // ₂
two.roman(); // Ⅱ
two.chinese(); // 二
two.chinese("pinyin"); // èr
two.chinese("financial"); // 貳
two.japanese(); // 二
two.english(); // two
two.upperCase(); // TWO
two.repeat();  // 2
two.repeat(5); // 22222
two.repeat(10); // 2222222222
複製代碼
Date(日期相關)
two.dayOfWeek(); // 週二
two.dayOfWeek("EN"); // Monday
two.monthOfYear(); // 二月
two.monthOfYear("EN"); // February
複製代碼
Unicode emoji(emoji表情)
two.peace(); // ✌️
two.victory(); // ✌️
two.eyes(); // 👀
two.oclock(); // 🕑
two.oclockStatus(); // 🛌 # default 2:00 am, you should be sleeping in the bed.(默認是凌晨兩點,你應該在睡覺。)
two.oclockStatus("PM"); // 👨‍💻 # 2:00 pm, you shoulding be coding.(傳參表示下午兩點,你竟然不在寫代碼?!)
two.oclockStatus("pm"); // 👨‍💻
複製代碼
Assert(判斷)
two.isTwo();  // true
two.isTwo(2); // true
two.isTwo(3); // false
複製代碼
Compare(比較)
two.bigger(1, 2); // 2
two.smaller(1, 2); // 1
複製代碼

發佈項目

完成項目的基本功能以後,就能夠發佈了,這時候執行:oop

npm publish
複製代碼

在這時,可能會報錯,由於還沒登陸npm帳戶,那就執行 npm login 輸入用戶名密碼便可: image 最後,發佈就好了,成功的截圖以下: _20190126211009post

驗證

驗證的方法也很簡單:

方法一:經過npm install 命令來檢驗是否能夠安裝 方法二:直接去npm網站進行搜索,記得要用全名搜索,而且要等一段時間再去搜,才能搜到。

接着,使用RunKit驗證就好了: _20190126211532

項目地址

github.com/monkey-play…

相關文章
相關標籤/搜索