Node快閃:發布你自己的npm模塊

到Holiday Season了,工作閑了下來,從今天開始我會發布一些 Node.js, npm, JavaScript 相關的快速入門教程。

每一篇教程都會力求簡潔:讀者應該可以在十五分鐘以內可以完成所有步驟,並可以入門相關概念和技能。

我會根據大家的反饋添加更多的細節和答疑,包括評論區,更多文章,以及不定期微信群等。

Slack討論群建立好了 nodeflash.slack.com,在知乎上給我發私信就可以把你加進來。

今天我們來發布一個npm模塊。

本文中的例子模塊的github和npm網址如下:

github.com/szhangpitt/f

npmjs.com/package/flash

準備工作:Mac OS X terminal,或Linux,或Windows ,安裝Node.js

1. npmjs.com/ 註冊賬號。

2. github.com/ 註冊賬號, help.github.com/ 設置好git環境。

3. 打開Terminal,運行

$ npm loginn

輸入npm的用戶名,密碼,email

4. 為自己的模塊想一個名字,然後運行

$ npm view some-namen

如果返回404,說明這個名字沒被佔用,本文用flash-node-npm-module-shaopeng為例

5. 在github上創建一個project,以模塊的名字(flash-node-npm-module-shaopeng)命名。

注意以下.gitignore選Node,license可以隨便選一個。

6. 從github上將項目同步下來

$ git clone <your-git-repo-url>n

7. 切換到項目的目錄中

$ cd <your-git-repo-dir>n

8. 創建npm模塊,

$ npm initn

按回車鍵可以直接接受默認值,我只修改了version為0.0.1,然後添加了description和license,這些以後都可以改。完成之後生成了package.json。

9. 在package.json平級的目錄中,創建一個文件index.js

$ touch index.jsn

查看目錄中的所有文件,用 $ ls -la

$ ls -la n

10. 編輯index.js,這就是你的模塊的侏羅紀,不,主邏輯:

$ nano index.jsn

11. 至此大部分代碼工作就完成了,用git查看一下狀態:

$ git statusn

所以其實除去git創建時自帶的配置文件和版權文件等,我們只創建了兩個文件:package.json 和 index.js

12. 添加這兩個文件到git中,然後同步到github

$ git add index.js package.jsonn$ git commit -m "npm module, initial logic"n$ git push origin mastern

13. 激動人心的一刻來到了,發布到npm中

$ npm publishn

14. 驗證一下是不是發布了,

$ npm view <your-module-name>n

15. 用自己剛發布的模塊試試手吧!創建一個本地項目(想同步到github也可以,本文略過)

$ cd ../n$ mkdir test-my-modulen$ cd test-my-modulen

16. 創建一個npm project,使用上文中的npm init,可以按回車選擇所有默認值

$ npm initn

17. 安裝我們剛剛發布的模塊

$ npm install --save <your-module-name>n

注意上面的 --save 選項,它會將被安裝的模塊添加到當前目錄的package.json中。可以查看一下package.json文件確認。

$ cat package.jsonn

18. 創建一個js文件,如果只是測試可以是任何名字,比如app.js

$ touch app.jsn$ nano app.jsnn// 以下是app.js的內容nvar addFn = require(flash-node-npm-module-shaopeng);nvar add30 = addFn(30);nvar result = add30(50);nnconsole.log(result); // should be 80n

19. 用Node運行app.js,查看結果

$ node app.jsn$ 80n

20. 現在你已經掌握了最基本的創建,編寫,以及發布npm模塊的基本技能了。我們來回顧一下需要掌握的主要的命令:

$ npm loginn# 登錄npm賬號,為後面發布做準備nn$ npm view <some-name>n# 按名稱查找npm模塊nn$ npm initn# 在當前目錄中創建一個npm項目,本質上是創建package.json文件nn$ npm publishn# 發布npm模塊 nn$ npm install --save <npm-module-name>n# 安裝一個npm模塊,並添加到package.json中nn# 下面是常用的Terminal命令n$ cat filename # 顯示文件內容n$ ls -la # 列出當前目錄中所有文件n$ mkdir dirname # 創建一個目錄n$ cd dirname # 切換到dirname目錄下n$ touch filename # 創建一個空文件n$ nano filename # Mac OS 下的文件編輯器,也可以使用vim, emacs, 記事本等 n

推薦閱讀:

基於 Node.js 的聲明式可監控爬蟲網路
Node.js 性能調優之調試篇(三)——三款實用調試工具
深入 Promise(二)——進擊的 Promise
採用Symbol和process.nextTick實現Promise
《球球大作戰》源碼解析——(1)運行起來

TAG:前端开发 | 前端入门 | Nodejs |