前端开发的模块化和组件化的定义,以及两者的关系

作者:Jasin Yip
链接:http://www.zhihu.com/question...
来源:知乎

模块化中的模块一般指的是 Javascript 模块,比如一个用来格式化时间的模块。

组件则包含了 template、style 和 script,而它的 Script 可以由各种模块组成。比如一个显示时间的组件会调用上面的那个格式化时间的模块。

画的一张图完美地解释了它们之间的关系:

clipboard.png

组件化就是做一个知乎,把导航栏拆成一个组件,一个一个回答区域拆成一个组件,编辑区是一个组件,页脚是一个组件,等等。。你可以尽情拆分。一个组件包含了html、css、js代码,可以简单理解为页面的一块。

模块化就是做一个知乎的编辑区组件,假设要有时间格式化、图片格式处理、视频格式处理、代码格式处理,这样很多个js功能。那么你当然可以在HTML里面引入多个JS script,现在更流行更好的方式,是采用引入的方式。

比如在一个编辑区组件里面,引入别人写好的时间格式化和图片格式处理的js代码:
<style>
...
</style>

<template>
...
</template>

<script>

var format = require('../lib/format') // local import
var img = require('lib-img') // npm import

/**

  • es6

  • import format from '../lib/format'

  • import img from 'lib-img'
    */

/**

  • your code here
    */

format(new Date())
img.getnewurl('http://xxxx.jpg')
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值