美文网首页Vue
vue插件封装的步骤

vue插件封装的步骤

作者: 糖小羊儿 | 来源:发表于2021-01-26 14:24 被阅读0次

这个是一个简单插件demo,可以直接下载改改就能使用

新建目录

为插件创建一个空的文件夹,在该文件夹下创建:

  • src文件夹
    • main.js 入口文件(必须有)
    • components 放组件(必须有)
    • assets 用来放css,图片,icon等静态资源
    • utils 放一些js公用方法或其他配置项之类的js
  • package.json文件:和正常vue项目的package.json没区别
image.png

重点说下components和main.js

components文件

我们没开发一个组件,都需要在components下新建一个文件夹,同时新建一个index.js 和 index.vue

image.png

index.js

这个文件的内容大差不差

  • import 组件名字 from "./index.vue";
  • export default 组件名字;

下面是mengInput的index.js代码

import mengInput from "./index.vue";
export default mengInput;

下面是mengNav的index.js代码

import mengNav from "./index.vue";
export default mengNav;

index.vue

这个就是正常的vue组件,template script style 都正常写,但是一定要记得写name属性:

  • 这个name 就是后期,在真正的项目中使用该组件时的名字
<template>
     <input type="text" placeholder="请输入内容">
</template>
<script>
export default {
    name: "meng-input",
    data() {
        return {};
    },
    created() {},
    methods: {},
};
</script>
<style lang="less" scoped>
input{
    width: 300px;
    height:40px;
    border:1px solid #f24b4b;
    padding:0 10px;
}
</style>

main.js 文件

import Vue from "vue";
//引入自定义css,也可以像element-ui一样,这里不引入,在项目中引入的时候引入
import './assets/zzcommon.less'

//引入自己封装的js文件,在项目中可以通过this.mengFunc.方法名调用
import mengFunc from './utils/mengFunc';
Vue.prototype.mengFunc = mengFunc;

//element-ui  如果插件没有使用element-ui  可以不用安装和引用
import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
Vue.use(ElementUI);

//引入自己封装的组件
import mengInput from './components/mengInput'
import mengNav from './components/mengNav'
const components =[
    mengInput,
    mengNav,
];
//安装自己封装的组件,以便于项目中不用引入就可以正常使用
components.install = function (Vue, opts = {}) {
  components.forEach((element) => {
    Vue.component(element.name, element);
  });
};
if (typeof window !== "undefined" && Vue) {
  Vue.use(components);
}
export default components;

相关文章

网友评论

    本文标题:vue插件封装的步骤

    本文链接:https://www.haomeiwen.com/subject/alnizktx.html