1. 首先创建一个空的vue项目
2. 在/src/下创建一个components目录,该目录的根节点下创建index.js,写入以下内容:
import cattleInfo from "@/components/cyxCattleInfo";
const components = [cattleInfo]
const install =function(Vue) {
components.forEach(component => {
Vue.component(component.name, component);
});}
if (typeof window !=='undefined' &&window.Vue) {
install(window.Vue);
}
export default {install, cattleInfo}
3. 在components下创建组件(名称自定义)目录,该目录下创建src目录和index.js,
目录结构,如下图:
组件下的index.js的代码如下
import cattleInfo from './src/cattleInfo';
/* istanbul ignore next */
cattleInfo.install = function(Vue) {
Vue.component(cattleInfo.name, cattleInfo);
};
export default cattleInfo;
组件下的src中写入自己要封装的组件(组件名称要一致):
5. 配置后项目中的pakage.json文件,如下图:
图中:--name cyx-cattle-info:cyx-cattle-info,为插件名称,也是发布到npm上的名称,命名前到npm官网查询是否含有其名字!
6. 这一切配置好后,在项目的根目录下,执行命令:npm run package,执行完后,会生成cux-cattle-info目录,如下图:
执行命令:cd cyx-cattle-info
执行命令:npm iniy -y(对该目录进行初始化),得到package.json,如下图:
其次,在该目录下,执行命令:npm publish(发布插件到npm上);
注意:发布到npm仓库
(1)注册账号
想要发布到npm仓库,就必须要有一个账号,先去npm官网注册一个账号,注意记住用户名、密码和邮箱,发布的时候可能会用到。
(2)设置npm源
有些小伙伴可能本地的npm镜像源采用的是淘宝镜像源或者其它的,如果想要发布npm包,我们得吧我们得npm源切换为官方得源,命令如下:
npm config set registry=https://registry.npmjs.org
(3)添加npm用户
进入thp-button-ui目录,添加npm用户,执行命令:
npm adduser
这里会让你填写用户名、密码、邮箱,然后会收到一封邮件,邮件里面有个类似于验证码的东西,如果之前设置过即可跳过此步。
(4)发布npm
npm publish
如果发布失败可在百度搜索失败code码,一般都是名字重复或者名字不合格
7. 其他项目使用时,只需要在该项目下执行命令:npm i 插件名称
然后在项目中的main.js中加入:
就可以全局使用这个插件了!
8. 最后,每次更新这个插件时,将自己更新完的代码进行打包(npm run package),然后重新初始化(npm init -y),然后再将版本号升级(npm version patch),在发布到npm 上(npm publish)
9. 若是删除这个npm插件时,只需要cd到该插件的目录下,然后执行命令(npm unpublish 插件名称 --force),将插件删除后,24小时内不可再次创建之前相同名称的插件!!