其實主要想寫一個圖牀網站的上傳方法,順便記錄一次 npm 包的開發。javascript
mkdir upload-img && cd upload-img npm init
而後按提示輸入 package name
、version
、 description
等信息就能夠了。
初始化完會在當前目錄生成一個 package.json
文件,熟悉 現代PHP
的應該都知道,這個文件跟 composer.json
的做用是同樣的,都用於描述這個項目的各項信息,包括依賴和腳本等。java
新建 index.js
文件,開始編碼。node
默認的入口文件是 index.js ,固然你能夠在
package.json
隨意更改入口文件。ios
/*! Copyright (c) 2017 96qbhy. Licensed under the MIT License (MIT) */ /* global define */ (function () { 'use strict'; var axios = window.axios || require('axios'); function uploadImg(file) { var data = new FormData(); data.append('smfile', file); data.append('ssl', true); return axios.post('https://sm.ms/api/upload', data).then(data => data.data); } if (typeof module !== 'undefined' && module.exports) { module.exports = uploadImg; } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) { // register as 'uploadImg', consistent with npm package name define('uploadImg', [], function () { return uploadImg; }); } else { window.uploadImg = uploadImg; } }());
而後基本套路走一發, 代碼就那麼多。git
實際代碼已更新,最新的代碼請移步該項目的 github倉庫。
做爲一個開源項目,一個好的readme.md
必不可少,此處我省略了readme.md
的書寫,由於太多了。github
npm adduser
,按提示輸入 username 和 password 以及 email。npm publish
。OK,裝逼完畢,這樣就完成了一個簡單的 npm
包的開發和發佈。npm
github
倉庫github
建立倉庫。git init
,添加 .gititnore
文件,排除須要排除的文件,例如 node_modules
和 .idea
等。git remote add origin {倉庫地址}
該項目我託管在
github
, 地址是 https://github.com/96qbhy/smms
sm.ms 是一款免費的圖牀網站,smms
是sm.ms
的 js 上傳插件 。json