前端组件化开发

2019-11-14  本文已影响0人  00d6d0e43d3d

组件化产生背景,为什么要组件化开发?

什么是前端组件?

通过对样式(css)模版(html)逻辑(js)的封装,构成一个内部作用域隔离的功能模块。组件通过props/attribute和Event进行统一的通信方式;组件拥有lifecycle钩子函数可以方便的对自身状态进行管理。通过使用组件来可以提升代码的可维护性和复用性。

组件化进程

jquery时代如何编写组件

刚入行的那一年,jquery如火如荼的占领着前端开发的各个角落,这时候并不是没有组件化,反而是各种组件遍地开花,轮播图组件(Swiper),Tab组件,日期选择组件,这时候的组件编写方式如下
1.首先需要在头部引入一个样式,然后再引入js依赖包

<link rel="stylesheet" href="dist/css/swiper.min.css">
 <script src="dist/js/swiper.min.js"></script>

2.实例化组件

<script>        
  var mySwiper = new Swiper ('.swiper-container', {
    // ...options
  })        
  </script>

这样一个轮播图就出来了,组件的内部实现也进行了很好的封装。但是这样的做法也会带来一定的问题,引入的css和JavaScript会污染全局作用域,导致和现有代码的样式和js命名空间的冲突。

三大框架时代

以Vue单文件组件为例

<template>
  <div class="example">{{ msg }}</div>
</template>

<script>
export default {
  data () {
    return {
      msg: 'Hello world!'
    }
  }
}
</script>

<style scoped>
.example {
  color: red;
}
</style>

通过webpak打包工具对css和JavaScript的作用域都进行了很好的隔离。

如何设计组件化设计

在前端三大框架鼎足而立的今天,不论是Vue,React,还是Angular都有组件化的解决方案,在工作中我们需要结合实际业务去判断如何抽象和拆分组件形成更好的组件化开发方案。

上一篇下一篇

猜你喜欢

热点阅读