vue/react/angular开发的css架构思考
前端开发现在已经从传统的后端web多页面开发模式转向前端单页SPA开发模式,而vuejs/react/angular则是开发SPA非常优秀的前端框架。组件化开发由react最早提出,vuejs后发优势,将组件化开发贯彻到了极致。虽然spa开发由于组件式开发带来的组件重用,可维护,可扩展非常好,但是css样式的管理一直是一个令前端团队头疼的问题,特别是当页面越来越复杂,并且有多个SPA页面时如何能够让样式重用,并且可维护,可扩展并没有一个特别有效和被验证过的普适方案。本文试图总结一些css模块化在vuejs开发中的探索。
1. 由于一般会有一个app组件作为整个vue应用的container,因此一些全局性的css样式,最好在这个app组件中定义;
2. 完全组件化开发,将每一个vue组件都作为独立可重用单元对待,css也不例外。组件相关的css就在vue的style定义块中进行定义和开发,并且每个组件的root元素都给一个class定义,css的定义都应用在这个class里面,这样可以实现样式的隔离;
3. 在less/sass文件中单独定义包含color,margin,fontsize等外观属性的公共定义文件,比如globalcde.less文件,这个文件可以通过sass-resources-loader来实现在所有vue组件中可见,并且加以引用。这样做的好处是所有用户感知的全局皮肤都在一个中央控制的文件中定义,一旦需要修改设计,只要在这个文件中修改对应变量。但是需要注意的是,在vue组件设计时,不能随意hard coded了,而是需要引用这里定义的color, margin,fontsize等定义!
4. 一般来说,我们可能会引用类似element-ui,ant-design等组件库,这时如何既能享受到这些成熟组件带来的快速开发便利,又能定制这些组件从而适应我们自己的品牌色系呢?一个可行的思路是通过调用这些组件库的api,使用上面第3步中定义的全局色系来定制第三方组件库的theme
vue/react/angular开发的css架构思考的更多相关文章
- 手把手教你使用Vue/React/Angular三大框架开发Pagination分页组件
DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师.官方网站:devui.designNg组件库:ng-devui(欢迎S ...
- 前端开发组件化设计vue,react,angular原则漫谈
前端开发组件化设计vue,react,angular原则漫谈 https://www.toutiao.com/a6346443500179505410/?tt_from=weixin&utm_ ...
- 三种Web前端框架比较与介绍--Vue, react, angular
一.Angular 1.MVVM(Model)(View)(View-model): 2.模块化(Module)控制器(Contoller)依赖注入: 3.双向数据绑定:界面的操作能实时反映到数据,数 ...
- Angular Vue React 框架中的 CSS
框架中的 CSS Angular Vue React 三大框架 Angular Vue 内置样式集成 React 一些业界实践 Angular Angular . js (1.x):没有样式集成能力 ...
- vue,react,angular三大web前端流行框架简单对比
常用的到的网站 vue学习库: https://github.com/vuejs/awesome-vue#carousel (json数据的格式化,提高本地测试的效率) json在线编辑: http: ...
- vue react angular对比
1.数据绑定 1)vue 把一个普通对象传给Vued的data选项,Vue会遍历此对象的所有属性,并使用Object.defineProperty将这些属性全部转为getter/setter.Obje ...
- vue,react,angular本地配置nginx 环境单页面应用
一.起因:项目使用VUE,和react.构建单页面应用.在nginx的环境下只有一个index.html入口.这时候默认能够访问到vue,和react 路由 配置中的首页.内部连接也能够跳转但是不能给 ...
- Web前端/全栈核心(html5/css3/js/vue/react/angular/es6/node)观看笔记
a标签中的超链接,需要加 http:// 否则会出现页面找不到. iframe中添加a标签,a标签中的target属性可以控制即将打开的页面,在那个位置显示. _blank 在新窗口中打开被 ...
- 前端三大框架(Angular Vue React)
前端,HTML(超文本标记语言),CSS(层叠样式表)和JavaScript(脚本语言) HTML,通常说的h5,其实按标准来说,HTML4的后续版本不带编号了,并保证向前的兼容性 CSS的版本3,增 ...
随机推荐
- Git问题
1. LF will be replaced by CRLF rm -rf .git // 删除.git git config --global core.autocrlf false //禁用自动转 ...
- 常见bug类别
- WooCommerce代码合集整理
本文整理了一些WooCommerce代码合集,方便查阅和使用,更是为了理清思路,提高自己.以下WooCommerce简称WC,代码放在主题的functions.php中即可. 修改首页和分类页面每页产 ...
- HDU2650 A math problem——高斯素数
题意 给你一个数 $a+bj, \ j=\sqrt {-2}$,如果它只能被1.-1.本身和本身的相反数整除,则输出Yes,否则输出No. 分析 高斯整数 $a+bi$ 是素数当且仅当: (1)$a, ...
- Android 开发基础入门篇: 生成带有签名的apk安装包
说明: 软件默认生成的安装包没有签名,现在手机安装APP的时候要求,安装包必须有签名才可以 默认生成的APK位置 现在生成带有签名的APK 我一般放到当前工程根目录,然后文件名字 key 有些时候需要 ...
- Python实现网络图形化界面多人聊天室 - Linux
网络图形化界面多人聊天室 - Linux Windows版本:https://www.cnblogs.com/noonjuan/p/12078524.html 在Python实现网络多人聊天室基础上, ...
- 【CSP-S膜你考】那23个路口
那23个路口 题面 故事的起源不加赘述,那23个路口. 单刀直入,我直接说题的意思. 蚊子和疯子在做一件事,就是他们要在茫茫的大街上找一个出发点,然后从出发点开始,经过上下左右23次拐弯,到达一个他们 ...
- Kdtree原理以及 vs Octree
1. Kdtree原理 Kdtree是一种划分k维数据空间的数据结构,本质也是一颗二叉树,只不过每个节点的数据都是k维,当k=1时,就是图1所示的普通二叉树. 图1 1)Kdtree的建立 建立Kdt ...
- 1-5docker私有镜像仓库
1.简单操作 1.在 https://cloud.docker.com 免费注册一个 Docker 账号 2.登录 docker login #命令登录 Docker Hub. 3.注销 docker ...
- CentOS安装PinPoint
1.软件准备 jdk-8u191-linux-x64.tar.gz,下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8 ...