1.首先小黑盒npm view
他会看npm中是否有同名的包
这种情况就是有同名的
这种就是没有同名,可以用,快去注册吧!!!
2.创建一个文件夹 进行初始化功能 npm init --yes
3. 在package.json文件中有一个杰森对象,对象当中有一个main属性(意为重要的)他写你封装的那个函数.
4. 然后在创建一个index.js文件 ,封装一个函数. 比如关于时间的. 比如:
//tools.js
const relativeTime = (oldTime) => {
const t = new Date(oldTime)
// Date.now():现在的时间戳(毫秒)
// t.getTime():旧时间的时间戳(毫秒)
const diff = Date.now() - t.getTime() // 相隔多少毫秒
// Math.floor 向下取整: 1.7年 ---> 1年前
const year = Math.floor(diff / (1000 * 3600 * 24 * 365))
if (year) {
return `${year}年前`
}
const month = Math.floor(diff / (1000 * 3600 * 24 * 30))
if (month) {
return `${month}月前`
}
const day = Math.floor(diff / (1000 * 3600 * 24))
if (day) {
return `${day}天前`
}
const hour = Math.floor(diff / (1000 * 3600))
if (hour) {
return `${hour}小时前`
}
const minute = Math.floor(diff / (1000 * 60))
if (minute) {
return `${minute}分钟前`
} else {
return '刚刚'
}
}
const formatDate = (dateTime) => {
// console.log(date)
// date = new Date();
const date = new Date(dateTime) // 转换成Data();
console.log(date)
var y = date.getFullYear()
console.log(y)
var m = date.getMonth() + 1
m = m < 10 ? '0' + m : m
var d = date.getDate()
d = d < 10 ? ('0' + d) : d
return y + '-' + m + '-' + d
}
// 通过module.exports来导出模块
module.exports = {
formatDate,
relativeTime
};
5. 注意package.json的main内容为你封装的函数文件的名称
使用:
ok 拿下
6. 因为我们要上传到npm官网去把你写好的包,因此 你需要切换当前npm镜像到npm
使用nrm工具查看nrm ls
如果不是npm你就需要切换源了 nrm use 名称
7.
接下来连接到npm
npm adduser
当然也可以断开连接
npm logout
你也可以问小黑盒你是谁,这个证明你是否登录了你npm官网npm who am i
8.接下来讲你的包上传到npm的官网npm publish
成功后显示如下图
这里可能出错的原因:
8.1: 可能包被别人抢先注册了
8.2 可能版本号码不对,切记版本号只大不小.因为一代只比一代强!!
9. 好了之后你可以去官网的个人中心package功能下查看你是否上传了你的包
10 下载包
将你写好的小垃圾包求人使用吧!!!
npm install 包名
11.更新包
修改完代码之后,保存.
在package.json中修改版本号码1.0.0改为1.0.1
重新publish
12.删除包npm unpublish --force
测试完成之后建议删除你的包 以免浪费公共资源(自己心里有点x数吗?因为这是在npm官网他是世界的,别出来丢人现眼~~~)