前言:当我写这篇博客之前我想过这些问题,是否你也被困扰过呢?
1:当你有自己觉得写的好的组件,是不是有一种想存下来,方便下一次使用的情况?
2:是不是大多数时候都是使用cv大法?from “a” to “b” to “c” to anyWhere…..
3:是不是你的的组件跟你npm install下来的有很大区别?
4:是不是想定义一套规则来管理公司项目的组件?(当然前提你得是,,,,大佬)
一:创建默认项目
使用
vue create xxx 创建一个默认项目
二:修改原始目录结构
创建的默认目录如下,我们需要将原本的src目录改为examples,然后创建packages目录来编写自己的组件库文件,(其实目录命名你开心就好,,)


好了,接下来划重点!
三:配置example & packages
到这里你可能发现了,项目无法跑起来了,因为我们没有了原始默认的入口文件
在根目录下创建vue.config.js配置文件(vue-cli3的配置文件,在这里的配置会覆盖脚手架webpack默认的配置项)。
//不熟悉配置的可官网查看 https://cli.vuejs.org/zh/config/#pages
module.exports = {
pages: {
index: {
entry: 'examples/main.js',
template: 'public/index.html',
filename: 'index.html'
}
}
}进入packages目录创建一个组件目录(HelloWorld),一个index文件(用来暴露所有的组件),然后在组件目录新建index(暴露出当前组件)文件与src组件源码。
在HelloWorld下面的index中引入组件。
import HelloWord from './src/HelloWorld.vue';
HelloWord.install = (Vue)=>{
Vue.components(HelloWord.name,HelloWord)
}
export default HelloWord;在packages目录下面的index中引入所有的组件并注册。
import HelloWorld from './HelloWorld';// 将引入的组件模块存储,方便循环注册所有组件
const components = [ HelloWorld ];
const install = (Vue,options)=>{
if (install.installed) return;
install.installed = true
console.log(options)










