https://www.cnblogs.com/wisewrong/archive/2018/12/28/10186611.html 参考这个就行。

而我这篇文章主要是对里面的相关步骤作一些简单的说明。

1:安装Vue-cli3

2:目录创建:packages 目录用于存放自己定义的组件  examples 用于演示组件

3:创建vue.config.js配置文件,为什么要配置这文件?

因为我们把原来的的src入口目录给改了,所以现在要重新配置新的入口目录为examples

module.exports = {
// 将 examples 目录添加为新的页面
pages: {
index: {
// page 的入口
entry: 'examples/main.js',
// 模板来源
template: 'public/index.html',
// 输出文件名
filename: 'index.html'
}
}
}

4:组件开发

组件目录结构:

--- buttom
-- src
-- main.vue
-- index.js

src目录:用于存入源码

index.js:文件定义组件与导出标识。

为每个组件定义一个install方法,这只是一种约束,便于你批量注册组件。

// index.js 文件
import Buttom from './src/main.vue';
Buttom.install = function (Vue) {
Vue.componet(Buttom.name, Buttom);
}; export default Buttom;

5:组件全局注册

1:需要注意的

Vue.use 注册插件时如果为一个对象那么对象必须要有一个install方法。

packages/index.js 导出的模块为一个对象,里面包含了所有组件和一个install方法, 在main.js页面注册插件(Vue.use)时,就用调用 install 方法,

Vue.use调用install方法时会传一个Vue对象过去,这时就会执行注册组件。也就是 const install = function(...) 这段

packages/index.js

import Button from './button';

// 组件
const components = [
Button, ]; // 注册组件
const install = function (Vue) {
if (!install.lock) {
components.forEach(component => {
Vue.component(component.name, component);
});
install.lock = true;
}
}; if(typeof window !="undefined" && window.Vue) {
install(window.Vue); // 注册成插件时 Vue.use 调用这方法时会传用全局对象Vue
} // 导出组件
export default {
install, // 为什么要install 方法,Vue.use 注册插件时 如果为对象时必须要一个install方法
...components
}
// main.js 文件
import Plug from '../packages';
Vue.use(Plug);

怎么使用Vue-cli3开发像iview、element那样的组件可下载直接使用的更多相关文章

  1. 使用Vue CLI3开发多页面应用

    一.安装vue-cli3 1.如果你已经全局安装了旧版本的 vue-cli(1.x 或 2.x),你需要先通过 npm uninstall vue-cli -g 或 yarn global remov ...

  2. 使用Vue cli3搭建一个用Fetch Api的组件

    系列参考 ,英文原文参考 我的git代码: https://github.com/chentianwei411/Typeahead 目标: 建立一个输入关键字得到相关列表的组件,用Vuejs2和Fet ...

  3. Vue 项目开发

    目录 Vue 项目开发 项目目录结构解析 入口文件 main.js (项目入口) 根组件 app.vue index.html 文件入口 router 路由 components 子组件 项目初始化 ...

  4. vue配合iview/element等ui实现界面效果起步

    iview与element都是与vue配合使用的ui框架,用法与配置基本一致,在此,我以iview为例,教你如何起步.*首先,你需要有一定的vue基础,如果你还是个小白,可以去我之前介绍如何搭建一个v ...

  5. 使用VUE CLI3.0搭建项目vue2+scss+element简易版

    1.安装Vue CLI 3 //三选一即可cnpm install -g @vue/cli npm install -g @vue/cli yarn global add @vue/cli 注意: 1 ...

  6. Vue项目开发最新、最全代码规范文档

    Vue项目开发最新.最全代码规范文档 2019年02月21日 10:43:49 yw00yw 阅读数 337   一. 目录结构 |— build 构建脚本目录 |— build.js 生产环境构建( ...

  7. 前端工程化(三)---Vue的开发模式

    从0开始,构建前后端分离应用 导航 前端工程化(一)---工程基础目录搭建 前端工程化(二)---webpack配置 前端工程化(三)---Vue的开发模式 前端工程化(四)---helloWord ...

  8. vue常见开发问题整理

    1.(webpack)vue-cli构建的项目如何设置每个页面的title 在路由里每个都添加一个meta [{ path:'/login', meta: { title: '登录页面' }, com ...

  9. vue前端开发那些事——vue开发遇到的问题

    vue web开发并不是孤立的.它需要众多插件的配合以及其它js框架的支持.本篇想把vue web开发的一些问题,拿出来讨论下.  1.web界面采用哪个UI框架?项目中引用了layui框架.引入框架 ...

随机推荐

  1. Openssl s_time命令

    一.简介 s_time是openss提供的SSL/TLS性能测试工具,用于测试SSL/TSL服务 二.语法 openssl s_time [-connect host:port] [-www page ...

  2. 基于jquery的ajax方法封装

    在实际的项目里,ajax的应用频率很高,所以尽管jquery或者其他的一些类似的js库做了非常不错的封装,仍然有进一步封装简化的空间和必要 举一个例子,很久很久以前,我的ajax是这么写的: $.aj ...

  3. [C++] Pure Virtual Function and Abstract Class

    Pure Virtual Function Abstract Class

  4. json操作工具-LitJson

    LitJSON是json生成与读取的操作工具,使用很方便并且网上还能找到源码.下面是使用LitJSON的例子: 一.生成json:实例化一个JsonData,然后按照List数组的方式向里面填. Js ...

  5. php 导出csv表格文件

    1.数据库取出数据,存放在二维数组中 $conn=new mysqli('localhost','root','root','myDBPDO'); $result=$conn->query('s ...

  6. Dubbo服务启动依赖检查

    dubbo 官方文档地址:http://dubbo.io/User+Guide-zh.htm 项目中存在服务之间存在循环依赖,启动时总是报错,通过修改启动检查check=false解决,下面是dubb ...

  7. Demo—标题左右两侧的对等横线

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. loadFileSystems error & ExceptionUtils错误原因分析

    loadFileSystems error & ExceptionUtils错误原因分析 一见 2014/5/7 C/C++程序通过hdfs.h访问HDFS,运行时遇到如下错误,会是什么原因了 ...

  9. Canvas vs. SVG[转]

    Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的. SVG SVG 是一种使用 XML 描述 2D 图形的语言. SVG 基于 XML,这意味着 SVG DOM 中的每个 ...

  10. 浅析Java语言慢的原因

    Java在早期(比如JDK1.2以前)是很慢的,后续版本由于有许多优化手段的加入,Java正变得越来越快,所以现在也有很多关于Java和C/C++孰快孰慢的争论.我想就我自己的理解,谈一下影响Java ...