目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
假如现在有个项目,需要几个人共同协作完成,如果没有分工的话,小李在header中添加一个颜色,小王又在header添加一个按钮,这样子合作虽然暂时看起来没有问题,但是某一天,小李和小王同时想要在页面添加一个nav导航栏,这样就产生了冲突,而且万一哪天某个地方出现了bug导致整个页面都崩了,那现在是不是要找到这个出bug的部分是谁写的,然后让他去修改,我们开发项目的时候,一般用的是git这样的版本管理工具,在这个部分你添加一笔他添加一笔,最后都分不清楚是谁添的这一笔;这就导致一个管理很混乱的局面,并且出了问题大家可以互相推脱,做不到一个准确问责的状态!
1、页面上的每个 独立的 可视/可交互区域视为一个组件;像例子中,把header,main,footer独立出来就是把他们当成一个个的组件;
1、每个组件对应一个工程目录,组件所需的各种资源都在这个目录下就近维护;(重点) 组件化的开发的最有价值的地方就是就近维护原则,每个开发者都将清楚的知道,自己所开发的维护的功能单元,其代码必然存在于对应的组件目录里,在那个目录下能找到有关这个功能单元的所有内部逻辑,什么样css样式,js啦,HTML页面结构啦,都在这个文件里,当需要修改的时候,直接去所对应的文件夹中找就好了!
2、由于组件具有独立性,因此组件与组件之间可以 自由组合;
3、页面只不过是组件的容器,负责组合组件形成功能完整的界面;
4、当不需要某个组件,或者想要替换组件时,可以整个目录删除/替换。
5、系统功能都被分支到独立的模块和组件中,开发者之间不会产生开发时序的依赖,大幅提升并行的开发效率,并且允许随时加入新成员认领组件开发或者维护工作;
css:主要放置.css文件
js:主要放置.js文件
images:主要放置图片文件
html:主要放置.html或.php之类文件(我一般喜欢直接放在项目根录下
http://www.w3cplus.com/preprocessor/architecture-sass-project.html
http://www.w3cplus.com/preprocessor/how-to-create-project-with-sass.html
http://www.softwhy.com/article-25-1.html
讨论时间到,欢迎大家提问!
感谢大家观看
By 郑佳威