自己写了一些组件,觉得挺好用的,准备自己以后的代码这些组件也可以拿来通用。
组件代码就是普通的 vue 代码。
<template>
<div>这里是我实现的组件功能</div>
</template>
<script>
export default {
name: "MyComponent1"
}
</script>
查询了一番后,发现要做两件事
于是,说干就干。 pakcage.json 的处理比较简单
{
"name": "my-component-pkg",
"version": "0.1.0",
"private": true,
"main": "src/index.js", // 注意这里
// ...
}
index 文件的内容如下:
import Vue from "vue";
import MyComponent1 from "./views/mine/component1";
import MyComponent2 from "./views/mine/component2";
Vue.component("MyComponent1", MyComponent1);
Vue.component("MyComponent2", MyComponent2);
这里注意,Vue.component
的处理必须要,不然到了其他项目中,就无法引入组件了。
然后就可以把 my-component-pkg
这个包发布到 npm 上去了,然后从 npm 上引用。
或者直接引用 github 的地址
"dependencies": {
"my-component-pkg": "git+https://github.com/yourname/my-component-pkg#master"
}
然后在目标vue项目的 main.js 中 import 一下就可以了。
import "my-component-pkg";
在这个时候,自己写的代码里,就可以直接使用 MyComponent1
这个组件了。
就像平时使用 element-ui 、 vant 、这样的通用框架。