大約三個月前,在GitHub上發表第一個公開專案ptt-crawler,接著做些修改也創造了另一個專案baha-crawler,主要是針對ptt及巴哈姆特上的爬蟲功能。不過,一直沒機會能整合到Node.js很重要的套件管理系統NPM裏。這個週末有空,研究了一下,發現將Node.js模組整合到NPM裏,其實並沒有那麼困難。
其中專案上有幾個地方需要注意的:
1.將專案目錄用以下方式進行配置(lib, examples,…)。lib是置放主要功能的模組程式碼檔案,examples是置放程式範例,index.js是入口檔案。至於LICENSE及README.md,是版權宣告及該模組的說明檔。
2.把index.js的內容寫成require到lib裏面模組主要功能檔案(一行就好)。
module.exports = require('./lib/ptt_crawler');
3.修改package.json,將package名稱、版本號、關鍵字…等相關資訊加入。如果有需要,也可以在scripts裏加入需要使用的指令。(e.g. 測試或執行範例等…)
最後,用以下指令將專案上傳到npm官方網站進行管理。
npm publish --access=public
後續如果有要更新版本,只要把package.json的版次或要改動的資訊改掉,然後用下列指令更新即可。
npm publish
如果有人的專案需要使用這個模組,就可以利用NPM的安裝指令進行安裝了。
npm install @waynechang65/ptt-crawler
此外,如果上傳NPM官網發現有錯誤想要刪除,可以利用以下指令於上傳30分鐘內進行刪除。
npx force-unpublish 專案名稱 刪除理由
上傳完成後,在NPM官網就會顯示已上傳並由NPM官網列管的Package了。