• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >vue > 如何写一个简单的vue移动端组件库

如何写一个简单的vue移动端组件库

作者:u014682977的专栏 字体:[增加 减小] 来源:互联网 时间:2017-09-10

本文主要包含vue 移动端组件库等相关知识,u014682977的专栏希望在学习及工作中可以帮助到您

浅浅目前只有一万年的修为,如果有不合理的地方欢迎抛出来哦,我保证不打你~~~

前段时间一直在研究组件库,终于在组内派上了大用场。来给大家贡献一篇关于移动端组件库的东西。如果你已经开发过公司级别的开源组件库了,那就可以不看了。毕竟逼格还是没有那么高。吼吼~~~

回想一下,在你们公司或者你们小组是否有一个以上的项目需要你维护?你是否遇到了两个项目需要开发类似的功能的情况?那么你是怎么做的呢?

有这么三种通俗的解决方案:

1)你可能会说我讲究速度,复制之前的组件到新项目中(如果之前没抽出组件那你可能得反思一下了),那么慢慢的你会发现随着你的项目的增加代码量在成倍上升。当你发现有一处问题的时候发现还需要修改其他项目的。

2)我可以抽离出所有公共的组件添加一个子模块(git submodule),这种方式虽然解决了重复工作,但对目录结构以及使用者的要求比较多 

3)使用开源组件库。哎呦,一用才发现很多并不是我们想要的。。。尤其是移动端组件库

为什么呢?移动端组件库有什么特别之处吗?

1.UI风格差异较大

2.不同终端的适配方案不同rem/px/vw

那我们就自己简单实现一个吧~~~

接下来我按照两个思路来说:

先说明一下目录

-src

components

-btn...

-index.js

-package.json

1.把公共组件放入components目录中

//src/index.js
import Loading from './components/loading'
import Btn from './components/btn'
import Swipe from './components/swipe'
import Popup from './components/popup'

const install = function(Vue) {
  if (install.installed) return;
  Vue.component(Loading.name, Loading) // 此处注意:组件中需要添加name属性,代表注册的组件名。
  Vue.component(Btn.name, Btn)
  Vue.component(Swipe.name, Swipe)
  Vue.component(Popup.name, Popup)
}

// auto install
if (typeof window !== 'undefined' && window.Vue) {
  install(window.Vue);
};

module.exports = {
  install,
  Loading,
  Btn,
  Swipe,
  Popup
}

2.在package.json中添加:

 

 

"main": "src/index.js"
"name": "vue-ui-lib"

到此一个简单的组件库就可以用到项目中了。然后publish到公司的私服,试试~~

 

3.引用

 

npm i vue-ui-lib --register 私服地址
import UiLib from 'vue-ui-lib'
Vue.use(UiLib)
// 直接使用
<btn ...></btn>


这样虽然通了,是不是感觉自己很棒了。可是我要修改组件,测试组件效果怎么办?

 

很明显,需要一个demo做测试。

4.创建demo

-demo

-btn

-swipe

...

-app.vue

-index.js

 

// demo/index.js
import UiLib from '../src/index'
Vue.use(UiLib)
// 路由 (不细说啦,大家都懂滴)


然后你的测试也能跑通了。很棒~可是,我想按需引入文件怎么办呢?而且我产出的代码不是打包好的,而是源文件。这就需要掌握webpack的一部分啦。太晚了,明天晚上前一定写好~~~

 

5.webpack配置部分

 

 

您可能想查找下面的文章:

相关文章

  • 2017-05-30浅析vue数据绑定
  • 2017-05-30使用vue.js写一个tab选项卡效果
  • 2017-05-30基于Vuejs框架实现翻页组件
  • 2017-05-30简单实现Vue的observer和watcher
  • 2017-05-30vuejs2.0运用原生js实现简单的拖拽元素功能示例
  • 2017-05-30Vue.js每天必学之构造器与生命周期
  • 2017-05-30详解Vue.js动态绑定class
  • 2017-05-30vue-dialog的弹出层组件
  • 2017-05-30Vue.js路由vue-router使用方法详解
  • 2017-05-30深入浅析Vue组件开发

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • Vue监听数组变化源码解析
    • 详解Vuejs2.0之异步跨域请求
    • vuejs动态组件给子组件传递数据的方法详解
    • 关于vue-router路径计算问题
    • Vue实现动态响应数据变化
    • vue.js指令v-model使用方法
    • vue.js从安装到搭建过程详解
    • 使用Vue.js创建一个时间跟踪的单页应用
    • 详解Vue生命周期的示例
    • Vue.js实现一个自定义分页组件vue-paginaiton

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有