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

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

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

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

组件化就是做一个知乎,把导航栏拆成一个组件,一个一个回答区域拆成一个组件,编辑区是一个组件,页脚是一个组件,等等。。你可以尽情拆分。一个组件包含了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>

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

  1. 对前端工程化、模块化、组件化开发的理解

    参考理解一: 提到前端往往很多人的映像就是入门简单,HTML.CSS加一起一个星期基本上就能大概上手,JS难一点但也能很快写一些简单的小效果,在网上随便一搜索各种特效代码随意用,一个新手前端也能在很短 ...

  2. 前端工程化、模块化、组件化

    工程化     前端工程化是一种高层次思想而不是某种技术,所谓前端工程化就是将前端项目当成一项系统工程进行分析.组织和构建从而达到项目结构清晰.分工明确.团队配合默契.开发效率提高的目的.而模块化和组 ...

  3. Android 开发:由模块化到组件化(一)

    在Android SDK一文中,我们谈到模块化和组件化,现在我们来聊聊组件化开发背后的哪些事.最早是在广告SDK中应用组件化,但是同样适用于普通应用开发 以下高能,请做好心理准备,看不懂请发私信来交流 ...

  4. 浅谈前端工程化、模块化、组件化

    1.前端工程化,是一种思维而不是技术.前端工程化就是用做工程的思维来开发自己的项目,而不是一个页面接着一个页面来开发. 2.前端模块化,前端工程化是一个高层次的思维,而模块化和组件化是在工程化思维下相 ...

  5. 模块化和组件化的定义以及两者的区别

    模块化中的模块一般指的是 Javascript 模块 组件则包含了 template.style 和 script,而它的 Script 可以由各种模块组成. 组件化就是做一个知乎,把导航栏拆成一个组 ...

  6. 前端模块与组件、模块化与组件化编程

    文章目录 前言 1.前端模块化 2.前端组件化 一.模块与组件的理解,存在的意义以及作用 1.模块 2.组件---实现应用中局部功能代码和资源的集合 2.1 单文件组件与非单文件组件 二.模块化与组件 ...

  7. 前端模块化、组件化的理解

    前端模块化.组件化的理解 到底什么是前端工程化.模块化.组件化 前端组件化思想 浅谈前端架构的工程化.模块化.组件化.规范化

  8. 前端模块化、组件化开发

    使用过ReactJS进行Web UI的组件化开发,和使用过AngularJS的双向数据绑定和模块化后,感觉到了组件化.模块化.双向数据绑定对Web前端开发的重要性. 1.组件化可以极大提高前端代码的可 ...

  9. 前端的工程化、模块化和组件化

    目录 前端的工程化.模块化和组件化 一.工程化 1.为什么要以工程化的思想来看待前端项目? 2. 那我们又该怎样去做到前端的工程化呢? 二.模块化 1.模块 2.为什么要模块化? 3.作用 三.组件化 ...

最新文章

  1. stn专线和otn有什么区别_专线与干线运输的区别是什么?
  2. 【沟通的艺术】你能勾住你的听众么?
  3. windbg基本简单步骤
  4. C语言 函数的封装示例(允许存在同名但形参不同函数)
  5. 软考-信息系统项目管理师-项目管理成熟度模型
  6. SAP Spartacus 服务器端 nodejs 应用里渲染 Angular Component 的一个例子
  7. ROS中阶笔记(十):ROS机器人综合应用
  8. linux在哪里储存变量值,关于linux:在bash中,如何在变量中存储返回值?
  9. Java基础复习---线程创建
  10. 程序员的职业生涯像一盘棋 行棋者由谁?
  11. Node.js简介与架构
  12. java修改文件的名称_Java修改文件名称
  13. win10电脑虚拟网络设置方法
  14. incaseformat病毒分析
  15. 细枝末节都交给App 我只负责享受生活 | 2016与我的数字生活
  16. FPGA实现BT.1120编码
  17. 深入了解Excel工作表中的控件
  18. ERP系统与精益生产
  19. 【JZOJ4587】Snow的追寻 题解
  20. VUE实现一个Flappy Bird~~~

热门文章

  1. maven 部分命令
  2. 三维重建:重定位问题
  3. error C3859: 超过了PCH的虚拟内存范围;请使用“-Zm33”或更大的命令行选项重新编译
  4. Python介绍与特点(自学python知识整理)
  5. ElasticSearch学习29_基于Elasticsearch实现搜索推荐
  6. Ionic3 通讯录索引的实现
  7. mongodb 入门 启动mongodb 无法启动 问题 非正常关闭
  8. 2015年百度之星初赛(1) --- A 超级赛亚ACMer
  9. 看来cmwap真的是没有可以使用的邮件客户端了
  10. OCT检查报告-光感受器COST线缺失与黄斑前膜