SASS 目录结构

SASS 目录结构的管理

对于大型项目来说,前端的页面很多,如果不能很好的管理 SASS 的目录结构或者架构,后续的维护可能会非常困难。SASS 7-1 是官方的一个最佳实践,就是将 SASS 文件按照不同的类别放入不同目录中,包括以下目录和文件

base/
components/
layout/
pages/
themes/
abstracts/
vendors/
文件目录
main.scss

下面是一个具体的例子

sass/
|
|– abstracts/
|   |– _variables.scss    # Sass Variables
|   |– _functions.scss    # Sass Functions
|   |– _mixins.scss       # Sass Mixins
|   |– _placeholders.scss # Sass Placeholders
|
|– base/
|   |– _reset.scss        # Reset/normalize
|   |– _typography.scss   # Typography rules
|   …                     # Etc.
|
|– components/
|   |– _buttons.scss      # Buttons
|   |– _carousel.scss     # Carousel
|   |– _cover.scss        # Cover
|   |– _dropdown.scss     # Dropdown
|   …                     # Etc.
|
|– layout/
|   |– _navigation.scss   # Navigation
|   |– _grid.scss         # Grid system
|   |– _header.scss       # Header
|   |– _footer.scss       # Footer
|   |– _sidebar.scss      # Sidebar
|   |– _forms.scss        # Forms
|   …                     # Etc.
|
|– pages/
|   |– _home.scss         # Home specific styles
|   |– _contact.scss      # Contact specific styles
|   …                     # Etc.
|
|– themes/
|   |– _theme.scss        # Default theme
|   |– _admin.scss        # Admin theme
|   …                     # Etc.
|
|– vendors/
|   |– _bootstrap.scss    # Bootstrap
|   |– _jquery-ui.scss    # jQuery UI
|   …                     # Etc.
|
`– main.scss              # Main Sass file

main.scss

main.scss 是主文件也是整个网站或者应用的入口文件,它主要的的作用就是将系统中其他的 scss 文件引入进来,编译的时候只要指定这个主文件就可以了,当然,新增任何文件都要加入到main.scss 中。

base 目录

主要把一些共享的文件放到该目录下,例如,style reset、字体、公共样式等。

layout 目录

Layout 主要放入一些布局文件,比如说页面布局后分成了多个部分,例如三栏布局、圣杯布局。

components 目录

页面上的一些公用的组件,通常会把这些组件抽出来作为公用的文件来提高复用率,例如,按钮、弹窗、表格等。

pages 目录

不同页面可能有不同样式效果,对于页面级别的样式放到 pages 目录下。

abstracts 目录

将项目中的公用工具放到此目录下,包括 mixins、variables、functions和 placeholders等,按照类型进行分配。如果项目比较大,按照类型分配的方式可能会使得单个文件变得很大,也可以按照功能模块再进行划分。

themes 目录

如果应用会用到不同的主题或者风格,将样式文件放到 themes 目录下。

vendors 目录

如果有第三方的样式文件,放到 vendors 目录下。

SASS 官方的目录结构,提供了一种思路,其实目录结构怎么安排并不重要,重要的是我们在开发的过程中要对文件进行规划,从而让维护更加省时便捷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/825824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JavaEE多线程】线程安全、锁机制及线程间通信

目录 线程安全线程安全问题的原因 synchronized 关键字-监视器锁monitor locksynchronized的特性互斥刷新内存可重入 synchronized使用范例 volatilevolatile能保证内存可见性volatile不保证原子性synchronized 也能保证内存可见性 wait 和 notifywait()方法notify()方法notify…

开发语言漫谈-JavaScript

JavaScript、Java名字很相近,但它们没有任何亲缘关系,是由不同公司开发的编程语言。Java由Sun公司(后被Oracle收购)开发,JavaScript最初是由Netscape公司开发的(当年浏览器的霸主)。JavaScrip…

PostgreSQL恢复系列:pg_filedump恢复字典构造---惜分飞

pg_filedump是在pg数据库极端情况下直接解析数据库文件的利器,但是由于是开源软件,本身难以实现批量处理,通过对底层基表分析,可以实现批量处理功能分析PostgreSQL库中数据库信息 --数据库查询结果 postgres# select oid,datname,datdba,dattablespace from pg_database; oid…

leetcode--3 无重复最长字串

题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: s "bbbbb" 输出: 1 …

PyTorch torch.nn.functional.one_hot用法解析

1.用法 在PyTorch中,我们可以使用torch.nn.functional.one_hot函数来实现One-Hot编码。下面是一个简单的例子: import torch import torch.nn.functional as F # 假设我们有一个包含类别标签的张量 labels torch.tensor([0, 2, 1, 0, 2]) # 使用torch…

深度学习概念

AIGC数据生产: AIGC在生成小图片时效果更佳(因为小图信息量更少,相同算力下效果更好);所以适合构造一些交通场景。比如护栏损坏:只mask原图的部分区域(图中白色区域),即可引导模型在mask处生成损坏的护栏。 基于此方…

【LeetCode热题100】【动态规划】完全平方数

题目链接:279. 完全平方数 - 力扣(LeetCode) 完全平方数是可以表示成某个整数的平方的数,要找和为n的完全平方数的最少数目 满足要求的完全平方数最小是1,最大不会超过n的平方根 所以题目变成要从1,2&am…

【LeetCode热题100】【动态规划】最长递增子序列

题目链接:300. 最长递增子序列 - 力扣(LeetCode) 让dp[i]是以nums[i]为结尾的子序列的最长递增长度,遍历nums[i]之前的元素,如果有比nums[i]小的,说明递增子序列可以延申 class Solution { public:int le…

拖拽式工作流有哪几个优势?

在信息技术迅猛发展的今天,如何助力中小型企业在数字化转型的过程中平稳过渡?又是如何让中小型企业摆脱数据孤岛、成本投入高等各种瓶颈和难题?低代码技术平台是近些年较为理想的平台产品,其中拖拽式工作流优势特点突出&#xff0…

地埋电缆故障检测方法有哪些?地埋电缆故障检测费用是多少?

地埋电缆故障检测方法主要涵盖脉冲反射法、桥接法、高压闪络法和声波定位法等多种方法。选择适当的方法取决于故障类型、电缆类型和实际现场条件。至于地埋电缆故障检测费用则受到多个因素的影响,包括故障类型、检测方法的复杂性、检测设备的先进程度以及所处地区的…

从零开始搭建社交圈子系统:充实人脉的最佳路径

线上交友圈:拓展社交网络的新时代 线上交友圈是社交网络的新引擎,提供了更广泛的社交机会,注重共同兴趣的连接,强调多样性的社交形式,更真实地展示自己,让朋友更全面地了解我们的生活状态。虽然虚拟交往存在…

SD-WAN解决电商企业海外业务网络难题

全球化背景下,众多国内企业都涉及到海外贸易业务,尤其是出海电商得到蓬勃发展。企业做出海电商,需要访问国外网页、社交平台,如亚马逊、TikTok、Facebook、YouTube等与客户沟通互动,SD-WAN的发展正好为解决国际网络访问…

时序分析相关考题汇总

时序分析例题_如下一个分频电路,触发器建立时间tsu 2ns,保持时间thold 2ns,逻辑延时tq -CSDN博客 IC/FPGA笔试/面试题分析(七)建立时间和保持时间类型考题汇总分析_建立时间 保持时间 笔试题-CSDN博客

Qt(十二)Graphics View 绘图架构(三)

文章目录 一、QGraphicsView相关整理二、QGraphicsView架构下实时鼠标绘制图形2.1 鼠标拖拽绘图说明2.2 记录图形第一个绘制点2.3 实时获取鼠标最新位置并绘图2.4 释放绘制点,绘制最终图形 三、QGraphicsView 在鼠标点击处进行放大缩小 一、QGraphicsView相关整理 …

14 Php学习:表单

表单 PHP 表单是用于收集用户输入的工具,通常用于网站开发。PHP 可以与 HTML 表单一起使用,用于处理用户提交的数据。通过 PHP 表单,您可以创建各种类型的表单,包括文本输入框、复选框、下拉菜单等,以便用户可以填写和…

孩子不爱学习的解决办法?最佳回答

孩子说不想上学了,想必这句话很多父母都不陌生,从自家孩子嘴里听到过。孩子十三岁了,正是叛逆的时候,很多孩子会在这个时候出现不爱读书的情况,面对这样的情况,家长要保持冷静,采取合理的解决办…

主存储器与CPU之间的连接(会画图)

位扩展 字扩展 由于只有A13, A14 连到了译码器上,以、因此该译码器是一个 2/4 译码器,对应的选片有四种。选中第一个选片,就是把译码器“0口置0, 1~3口置1”,因为CS有非号,因此,低电…

数据结构——线索树

核心思路就是要先将空指针转为线索 也就是多出来的n1个指针&#xff0c;然后再将这些指针连成一个链表&#xff0c;遍历就可以达到O(n&#xff09;的速度打出 以下代码为中序遍历 前序和后续随缘更新 #include <iostream> #include <stdlib.h> using namespace s…

【C++】string的使用

目录 1、为什么学习string类&#xff1f; 2、标准库中的string类 2.1 string类 2.2 string类的常见接口声明 2.2.1 string类的常见构造 ​编辑 2.2.2 string类对象的访问及遍历操作 2.2.3 string类对象的容量操作 2.2.4 string类对象的修改操作 ​编辑 1、为什么学习s…

npm install CERT_HAS_EXPIRED解决方法

目录 一、问题描述二、问题原因三、解决方法 一、问题描述 执行命令 npm install 报错&#xff1a; npm WARN registry Unexpected warning for https://registry.npm.taobao.org/: Miscellaneous Warning CERT_HAS_EXPIRED: request to https://registry.npm.taobao.org/js-…