其实主要想写一个图床网站的上传方法,顺便记录一次 npm 包的开发。
第一步、 初始化一个 npm 包
mkdir upload-img && cd upload-img
npm init
然后按提示输入 package name
、version
、 description
等信息就可以了。
初始化完会在当前目录生成一个 package.json
文件,熟悉 现代PHP
的应该都知道,这个文件跟 composer.json
的作用是一样的,都用于描述这个项目的各项信息,包括依赖和脚本等。
第二步、开始编码
新建 index.js
文件,开始编码。
默认的入口文件是 index.js ,当然你可以在
package.json
随意更改入口文件。
/*!
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;
}
}());
然后基本套路走一发, 代码就那么多。
实际代码已更新,最新的代码请移步该项目的 github仓库。
作为一个开源项目,一个好的readme.md
必不可少,此处我省略了readme.md
的书写,因为太多了。
第三步、发布
- 注册 npmjs 帐号,已注册的请忽略。
- 执行
npm adduser
,按提示输入 username 和 password 以及 email。 - 执行
npm publish
。
OK,装逼完毕,这样就完成了一个简单的 npm
包的开发和发布。
第四步、添加到 github
仓库
- 到
github
创建仓库。 - 执行
git init
,添加.gititnore
文件,排除需要排除的文件,例如node_modules
和.idea
等。 - 添加远端仓库 ,
git remote add origin {仓库地址}
- add + commit + push
该项目我托管在
github
, 地址是 https://github.com/96qbhy/smms
sm.ms 是一款免费的图床网站,smms
是sm.ms
的 js 上传插件 。