vue.js组件化开发实践

前言

公司以往制作一个H5活动,特别是有一定统一结构的活动都要每次用html、css、js滚一次重复的轮子,费时费力。后来接到了一个基于模板的活动发布系统的需求,于是就有了下面的内容。

开始

需求一到,接就是怎么实现,技术选型自然成为了第一个问题。鉴于目前web前端mvvm框架的流行,以及组件化开发方式的出现,决定采用vue进行开发。

这里首先简单说下web前端组件化开发方式的历程:

最早的组件化结构,或者叫做组件化1.0时代,代码结构可能如下:

1 - lib/components/calendar
2   |- calendar.css
3   |- calendar.js
4   |- calendar.html

将同功能的组件文件放到同一目录下,结构清晰、职责明确,视图、样式、脚本的关系显著,也易于单元测试,是独立展示和交互的最小单元

组件化2.0:

在1.0基础上对组件进行了生命周期的加工,理顺了组件的各个阶段,有助于对组件实现(从初始化到销毁)的理解。并且借助于组件各个阶段的钩子可以对组件有更好的利用和扩展。而且数据绑定的加入,也让整个层级上升了一个level。ExtJs、YUI等都是这方面的专家。

3.0时代:

有了2.0发展,进步是很大的,但依然不够。组件的可复用性(基础样式,基础逻辑,基础属性、可复用的稳定业务逻辑等),甚至是能否有更好的代码组织方式等依然是问题。angular、React、Polymer、Vue等mvvm框架和webpack、browserify等构建工具的出现正在解决这些问题。

时间: 2024-08-08 22:08:53

vue.js组件化开发实践的相关文章

Android组件化开发实践

Android项目中代码量达到一定程度,编译将是一件非常痛苦的事情,短则一两分钟,长则达到五六分钟.Android studio推出instant run由于各种缺陷一般情况下是被关闭的--组件化开发可以有效降低代码模块的耦合度,使代码架构更加清晰,同时模块化的编译可以有效减少编译时间,当然总的编译时间是不会减少的,只是App模块化之后开发某个模块时,只需要编译特定模块,可以快速编译调试. 百牛信息技术bainiu.ltd整理发布于博客园 原理 组件化和插件化有些同学有些迷惑,简单来说组件化是在

JS 组件化开发 系列(一)

JS 组件化开发 系列 作为前端开发,组件化开发是你成长的必经之路.时间的积累逐渐摸索出自己比较好的开发方式. --- zenking (1)实现最简单的组件化: var jdb ={ alert: function(str) { alert(str); }, console:function (str) { console.log(str) } } 这样就是简单的实现 jdb.alert.jdb.console 两个方法. 但是呢? 现在需求改了, 需要实现链式调用. 就是像jquery 一样

Android 业务组件化开发实践

组件化并不是新话题,其实很早很早以前我们开始为项目解耦的时候就讨论过的.但那时候我们说的是功能组件化.比如很多公司都常见的,网络请求模块.登录注册模块单独拿出来,交给一个团队开发,而在用的时候只需要接入对应模块的功能就可以了. 百牛信息技术bainiu.ltd整理发布于博客园 今天我们来讨论一下业务组件化,拿出手机,打开淘宝或者大众点评来看看,里面的美食电影酒店外卖就是一个一个的业务.如果我们在一个项目里面去写的时候,总会出现或多或少的代码耦合,最典型的有时为了赶上线时间而先复制粘贴一段类似的代

vue中的组件化开发

常常听一些前辈说vue是react的组件化+angular的数据绑定的结合体: 最近刚刚开始使用vue开发项目,我也是在摸索中前进,现在我们来说一说vue的组件化开发. 实际的项目开发,并不像一些文章中的提到的模式,而是如图所示的模式: App.vue是项目的入口.组件实则也是一个以.vue为后缀的文件.我们可以在src\components文件夹下创建一个xxx.vue: 然后在文件中编写可以提出的公共部分的代码为组件.然后在您需要调用该组件的页面,如下图方式调用: 是不是很简单.现在来解释一

组件化开发--搭建

前段工程化:      在前段开发的过程中,一些重复的工作由程序自动完成.在项目开发的过程中,css使用预处理器,js使用es6或者typescript或者coffeescript来开发      html使用模板语言开发,都需要进行编译,在项目开发的时候,按照模块化的思路进行拆分,但在上线的时候,为了提高运行的效率/性能,减少http请求,      需要对这些模块进行拼接,压缩等操作,测试.这些工作需要由工程化工具来完成,比如gulp的插件前段组件化:      css组件化开发     

Webpack+Vue+ES6 前端组件化开发mobile-multi-page应用实战总结

本文版权归博客园和作者吴双本人共同所有 转载和爬虫请注明原文地址 www.cnblogs.com/tdws 一.写在前面 项目上线有一段时间了,一个基于webpack+vue+ES6的手机端多页面应用.其实说是多页面应用,实际上在webpack中属于四个app,  如果真是做纯单页面,那应该有二三十个页面吧.所以我这里的多页面应用,是分为四个SPA.比如微信最下面,有四个导航,微信,通讯录,发现,我. 那么这四个导航,就是我的四个SPA,配置多个入口即可. 在这里就不说太多代码了,项目结构将会放

Vue组件化开发

一. 通过axios实现数据请求 1. json简介 json是 JavaScript Object Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数据格式. json的作用:在不同的系统平台,或不同编程语言之间传递数据. 1.1 json数据的语法 json数据对象类似于JavaScript中的对象,但是它的键对应的值里面是没有函数方法的,值可以是普通变量,不支持undefined,值还可以是数组或者jso

Vue全家桶之组件化开发

作者 | Jeskson 掘金 | https://juejin.im/user/5a16e1f3f265da43128096cb 学习组件化开发,首先掌握组件化的开发思想,组件的注册方式,组件间的数据交互方式,组件插槽的用法,vue调式工具的用法,组件的方式来实现业务逻辑功能. 组件化开发思想,组件注册,组件调式,组件间的数据交互,组件插槽 组件化规范,就是多的可能性重用 全局组件注册语法 Vue.component(组件名称, { data: 组件数据, template: 组件模板内容 }

vue组件化开发-vuex状态管理库

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试.状态快照导入导出等高级调试功能. 以上是vuex的官方文档对vuex的介绍,官方文档对vuex的用法进行了详细的说明.这里就不再细讲vuex的各个用法,写这篇博客的目的只是帮助部分同学更快地理解并上手vuex.