zoukankan      html  css  js  c++  java
  • 关于模块化和组件化的一些认识

    从几个月前开始接触前端,我就听到一句话:保持内容、样式、行为的分离是一个良好并且必要的习惯。所以我一直以来的模式是:HTML=>CSS=>JavaScript,也就是先把内容填充好了,然后写CSS,一看大概页面差不多了,用JS写一些行为,比如点击啦滚动啦什么的,然后万事大吉!

    然而早就听说了webpack,最近开始学习,然后发现需要nodeJS,然后又了解了解nodeJS,又知道了commonJS,又接触到了模块化、组件化这些词,意识到我原本的方式好像并不是内容样式行为分离的模式。首先,JS代码和DOM强耦合,也就是HTML里随便改个class或者id,可能导致整个页面完蛋,所以这种方式只能说是形离神不离。

    所以我又查阅相关资料,页面可以说是由一个个组件构成,组件又由一个个实现某功能的模块构成,所以模块化和组件化可以实现代码的复用,有一篇文章提出了一种说法:

    很多人觉得模块化开发的工程意义是复用,我不太认可这种看法,在我看来,模块化开发的最大价值应该是分治,是分治,分治!(重说三)。

    不管你将来是否要复用某段代码,你都有充分的理由将其分治为一个模块。

    所以我的理解是,将页面分成一个个组件,各组件互不干扰,分别开发,可随意组合,组件包括有JS模块和CSS模块,JS模块利用命名空间、闭包等方式将想要暴露的属性暴露出来(或者AMD/CMD/ES6 Module等方式)。

    目前依然在学习中,理解有限,难免有错,深入学习后再改。

  • 相关阅读:
    【BZOJ 3709: [PA2014]Bohater】
    清北学堂2019.8.10 & 清北学堂2019.8.11 & 清北学堂2019.8.12
    清北学堂2019.8.9
    清北学堂2019.8.8
    清北学堂2019.8.7
    清北学堂2019.8.6
    【洛谷T89379 【qbxt】复读警告】
    【洛谷T89353 【BIO】RGB三角形】
    【洛谷T89359 扫雷】
    【洛谷P2016战略游戏】
  • 原文地址:https://www.cnblogs.com/zczhangcui/p/6431389.html
Copyright © 2011-2022 走看看