1、首先,你需要有个npm账号。
2、创建项目
执行如下命令:
mkdir mynpm && cd mynpm
3、初始化项目
执行如下命令:
npm init
注:一路回车即可
4、组件编写
// 模版:
<template>
<div class="toast">
<div class="msg-content">{{ msg }}</div>
</div>
</template>
<script>
export default {
props: {
msg: ''
}
};
</script>
<style>
.toast {
display: none;
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
}
.msg-content {
font-size: 16px;
background: rgba(0, 0, 0, 0.5);
border-radius: 8px;
line-height: 32px;
padding: 0 15px;
color: white;
}
</style>
// 引入模版
import ToastTemp from "./toast.vue";
class Toast {
// 暴露install方法
install(Vue, option) {
// 编译模版
const ToastTempCons = Vue.extend(ToastTemp);
// 实例化原型
const instant = new ToastTempCons();
// 给Vue原型添加$toast方法
Vue.prototype.$toast = function (msg, timer = 2000) {
// 组件挂载元素
const mountDom = document.createElement("div");
// 赋值
instant.msg = msg;
// 挂载
instant.$mount(mountDom);
// 添加到文档刘
document.body.appendChild(instant.$el);
// 定时移除
setTimeout(() => {
document.body.removeChild(instant.$el);
}, timer);
};
}
}
export default new Toast();
5、添加readme
第一,需要说明项目如何使用
第二,需要说明项目注意事项
6、发布到npm
- 进入到项目目录
- npm login 按照提示进行登录
- npm publish
如果报错,请修改package中的name字段