怎么使用Vue-cli3开发像iview、element那样的组件可下载直接使用
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那样的组件可下载直接使用的更多相关文章
- 使用Vue CLI3开发多页面应用
一.安装vue-cli3 1.如果你已经全局安装了旧版本的 vue-cli(1.x 或 2.x),你需要先通过 npm uninstall vue-cli -g 或 yarn global remov ...
- 使用Vue cli3搭建一个用Fetch Api的组件
系列参考 ,英文原文参考 我的git代码: https://github.com/chentianwei411/Typeahead 目标: 建立一个输入关键字得到相关列表的组件,用Vuejs2和Fet ...
- Vue 项目开发
目录 Vue 项目开发 项目目录结构解析 入口文件 main.js (项目入口) 根组件 app.vue index.html 文件入口 router 路由 components 子组件 项目初始化 ...
- vue配合iview/element等ui实现界面效果起步
iview与element都是与vue配合使用的ui框架,用法与配置基本一致,在此,我以iview为例,教你如何起步.*首先,你需要有一定的vue基础,如果你还是个小白,可以去我之前介绍如何搭建一个v ...
- 使用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 ...
- Vue项目开发最新、最全代码规范文档
Vue项目开发最新.最全代码规范文档 2019年02月21日 10:43:49 yw00yw 阅读数 337 一. 目录结构 |— build 构建脚本目录 |— build.js 生产环境构建( ...
- 前端工程化(三)---Vue的开发模式
从0开始,构建前后端分离应用 导航 前端工程化(一)---工程基础目录搭建 前端工程化(二)---webpack配置 前端工程化(三)---Vue的开发模式 前端工程化(四)---helloWord ...
- vue常见开发问题整理
1.(webpack)vue-cli构建的项目如何设置每个页面的title 在路由里每个都添加一个meta [{ path:'/login', meta: { title: '登录页面' }, com ...
- vue前端开发那些事——vue开发遇到的问题
vue web开发并不是孤立的.它需要众多插件的配合以及其它js框架的支持.本篇想把vue web开发的一些问题,拿出来讨论下. 1.web界面采用哪个UI框架?项目中引用了layui框架.引入框架 ...
随机推荐
- WIFI配置专项测试
1. 测试项目 A. 路由器加密方式测试: B. 路由器信道选择测试: C. DHCP过期时间测试 D. 路由器WIFI密码复杂度测试: 2. 测试结果 2.1. 加密方式测试 路由器密码为简单,其他 ...
- DataTable数据分页
using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Refle ...
- CodeForces 339C Xenia and Weights(暴力求解DFS)
题意:给定 1-10的某几种砝码,给定的每种有无穷多个,然后放 m 个在天平上,要满足,相邻的两次放的砝码不能是同一种,然后是在天平两端轮流放,并且放在哪一个托盘上,那么天平必须是往哪边偏. 析:这个 ...
- 在APP中集成iAd Banner展示广告盈利
如果你已经做了一款超牛X的APP.你也许还有一件是需要操心.APP够好了,怎么盈利呢?你可以对下载你的APP的用户收费.也可以完全的免费,然后在APP里放广告来实现盈利.现在来说,除非一款APP真的是 ...
- iPhone Development – core data relationships tutorial part 1
I’m going to start a short series on Core Data relationships and maybe throw in some general Core Da ...
- mysql 数据库查询
myspl 三部分 文件 服务 界面 查看数据库命令 show databases 创建数据库 create database 库名 删除数据库 drop database ...
- js阿拉伯数字转中文大写 方法重多
方法一 function DX(n) { if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return "数据非法"; var unit = &qu ...
- DRBD 数据镜像软件
1>DRBD介绍 1>数据镜像软件DRBD介绍 分布式块设备复制(Distributed Relicated Block Deivce,DRBD),是一种基于软件.基于网络的块复制存储解 ...
- Mac OS X Yosemite & Arduino安装CH340 USB转串口驱动
新买的Arduino开发板 USB转串口使用了CH340芯片,在Mac OS X Yosemite上正常安装驱动后,在Arduino IDE的端口没发现相应的设备,使用以下方法后就能使用USB转串口调 ...
- IE8下window.open 二次无法加载页面
我原先的IE是系统默认自带的IE7,升级到IE8之后,就出现了此现象: 打开一个窗口(window.open方式)后,再打开时,新窗口的页面显示空白,无法加载其内容.关闭ie后,重新偿亦是如此,第一次 ...