vue-cli2项目中使用scss

前言:

首先要搞清楚Sass和Scss的区别:
       实际上Sass和Scss是同一种东西,Scss是 Sass3 引入新的语法,它们都是css预处理器。通常称为Sass,但存在两种不同的语法风格:
文件扩展名:Sass 默认使用“.sass”作为文件扩展名,而 Scss 使用“.scss”作为扩展名。
语法书写方式:Sass 最初是以严格的缩进式语法规则来书写,不带大括号和分号,这种方式使得代码更加简洁,但在某些情况下可能不如Scss直观易读;相比之下,Scss的语法允许使用大括号和分号,与常规的 css语法相似,这使得 Scss更容易被 css开发者接受和使用。
除此之外,在功能上,Sass 和 SCSS 都支持变量、嵌套规则、混合宏等功能,这些功能大大提高了样式表的可维护性和灵活性。

总结来说,尽管 Sass 和 SCSS 在文件扩展名和语法书写方式上有所不同,但本质上是相同的 CSS 预处理器,提供了比传统 CSS 更强大的功能和灵活性。开发者可以根据个人喜好选择使用 Sass 或 SCSS 语法。

一、安装使用scss

  1. 安装 scss
npm install scss --save
  1. 安装 node-sass 和 sass-loader
npm i node-sass@4.14.1 sass-loader@7.3.1 -s

提示:限制 node-sass,sass-loader 版本号,防止默认安装的版本号过高
在这里插入图片描述

  1. 配置 webpack.base.conf.js 文件
    在 build 文件夹下的 webpack.base.conf.js 文件中对 rules 增加下面的内容
rules: [{test: /\.scss$/,loaders: ['style', 'css', 'sass']},
]
  1. 组件中使用 scss
    在组件中style标签上添加属性 lang=“scss”,就可以使用scss了
<style lang="scss">#app{font-family: 'Avenir', Helvetica, Arial, sans-serif;color: #2c3e50;width: 100%;}
</style>

二、设置scss变量

  1. 安装 sass-resources-loader 实现全局变量
npm i sass-resources-loader -s
  1. 新建一个 global.scss 文件
    在assets文件夹里面新建一个global.scss文件,用于存放所有的公共变量
  2. 修改build 文件夹里的 utils.js 文件
    将 scss: generateLoaders(‘sass’) 修改为下面的内容
scss: generateLoaders('sass').concat({loader: 'sass-resources-loader',options: {resources: path.resolve(__dirname, '../src/assets/global.scss') }
})
  1. 重新启动项目就可以使用了

三、使用全局变量

  1. 在global.scss文件中设置全局变量
// 变量
$font_size: 19px;
$color: #ff701c;
$bg_color: #f1f1f1;

在页面中使用

<style lang="scss">#app{font-family: 'Avenir', Helvetica, Arial, sans-serif;color: $color;background: $bg_color;font-size: $font_size;width: 100%;}
</style>

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

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

相关文章

探索Python的包与模块:构建项目的基石

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、模块与包的基础认知 1. 模块的定义与创建 2. 包的组织与管理 二、模块与包的进阶使用…

懒人创业秘诀揭秘:加入萤瓴优选项目,普通人也能打开财富大门

创业对于很多人来说&#xff0c;是一个艰难而复杂的过程。然而&#xff0c;时代的发展带来了新的机遇&#xff0c;懒人创业成为了一种趋势。加入萤瓴优选项目&#xff0c;普通人也能轻松打开财富大门。本文将揭秘懒人创业的秘诀&#xff0c;并分析萤瓴优选项目如何帮助普通人实…

极致产品力|从toB到toC,年销4.2亿份的冻干品牌是如何炼成的?

天野食品是日本冻干食品长红40年的品牌&#xff0c;从制造焦糖的小工厂&#xff0c;转变为日本冻干速食的行业第一&#xff0c;它是如何做到的呢? 深耕TOB业务&#xff0c;如何在ToC业务创造增长 天野公司以冻干食品闻名但并非以此起家。自1940年成立以来&#xff0c;便以染料…

tomcat不定时宕机,Failed to write core dump

在linux上的tomcat部署的web应用&#xff0c;不定时会自动挂掉&#xff0c;排查tomcat安装路径/logs/catalina.out 发现提示Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java a…

前端本地项目启动供后端或者测试调试

目录 1、项目本地启动的地址 2、打开终端输入 ifconfig 查找ip 3、将localhost替换成ip即可供他人测试 1、项目本地启动的地址 http://localhost:8100/?module220&webRoutevpc-gray&backRoutevpc-gray........................... 2、打开终端输入 ifconfig 查找i…

android Seek当点击的时候有一个圆圈

最近项目中Seekbar的时候遇到一个问题&#xff1a;点击进度条或者拖动进度条的时候&#xff0c;seekbar出现一个圆形的半透阴影/白色圆圈&#xff1a; <xxxxxxxxxSeekBarandroid:layout_width"wrap_content"android:layout_height"40dp"android:backgro…

DreamPose: Fashion Image-to-Video Synthesis via Stable Diffusion

UW&UCB&Google&NVIDIA ICCV23https://github.com/johannakarras/DreamPose?tabreadme-ov-file 问题引入 输入参考图片 x 0 x_0 x0​和pose序列 { p 1 , ⋯ , p N } \{p_1,\cdots,p_N\} {p1​,⋯,pN​}&#xff0c;输出对应视频 { x 1 ′ , ⋯ , x N ′ } \{x_1,…

浙江大学数据结构MOOC-课后习题-第十讲-排序5 PAT Judge

题目汇总 浙江大学数据结构MOOC-课后习题-拼题A-代码分享-2024 题目描述 这段文字是关于如何生成PAT&#xff08;一种编程能力测试&#xff09;的排行榜的说明。下面是这段文字的中文翻译&#xff1a; 输入说明&#xff1a; 每个输入文件包含一个测试案例。对于每个案例&…

存储器带宽

定义 存储器单位时间内读出/写入的位数或字节数 单位 单位是bps&#xff08;位/秒&#xff09;或B/s&#xff08;字节/秒&#xff09; 计算公式 基于存储器时频率和数据总线位数的计算方法 公式&#xff1a;带宽 存储器时频率 存储器数据总线位数 / 8 基于存取周期和每…

./configure 放开OPENSSL_X509_H宏定义

在使用 ./configure 脚本编译软件时&#xff0c;可以通过在命令行中添加 --enable-FEATURE、–with-PACKAGE 或 --disable-FEATURE 等参数来配置宏。这些参数会设置配置变量&#xff0c;进而可能影响编译时的宏定义。 例如&#xff0c;如果你想启用某个特性&#xff0c;可以使…

智慧园区:打造未来城市的新模式

随着城市化进程的加速和科技创新的推动&#xff0c;城市面临着诸多挑战和机遇。如何提升城市的竞争力和可持续性&#xff0c;是一个亟待解决的问题。在这个背景下&#xff0c;智慧园区作为一种新型的城市发展模式&#xff0c;引起了越来越多的关注和探索。 什么是智慧园区&…

天若OCR 识别 (本地文字识别转换工具)

前言 天若OCR文字识别本地版是一款在天若OCR文字识别工具v5.0免费开源版的基础上采用Chinese-lite框架和Paddle-ocr框架本地化识别接口编译而成,无需联网也无需申请密钥&#xff0c;纯本地运算&#xff0c;识别准确度和速度很快&#xff0c;操作和天若OCR免费版一样&#xff0…

如何将短信从 iPhone 传输到计算机 - 5 种灵活的方式

概括 与他人交流的多种方式之一是发送短信。对于那些包含珍贵回忆或重要信息的消息&#xff0c;您需要将它们发送到另一台设备&#xff08;例如计算机&#xff09;进行备份。将短信文件发送到计算机是保存宝贵数据的最佳方法之一。继续阅读本文&#xff0c;了解如何将短信从 i…

工作五年后的程序员,一般怎样了?

本科一般是22岁毕业&#xff0c;5年开发经验一般是指27岁。这个阶段&#xff0c;不少程序员可能通过多次跳槽&#xff0c;薪资有一定涨幅&#xff0c;但真有可能还在小公司甚至外包公司做增删改查的业务&#xff0c;然后坐等30岁的到来。 就以Java为例&#xff0c;一些发展情况…

gitlab将本地文件项目上传至gitlab服务

打开gitlab网页界面&#xff0c;登陆管理员账号 &#xff08;测试服务器安装的gitlab&#xff0c;浏览器输入ip或配置的gitlab地址&#xff09; 创建新项目 使用gitlab创建项目 创建一个新项目&#xff08;忽略分组&#xff09; &#xff08;忽略分组&#xff09; 在创建工…

【文末附gpt升级方案】数据虚拟化技术的优势

数据虚拟化技术的优势主要体现在以下几个方面&#xff1a; 提高资源利用率和降低成本&#xff1a; 数据虚拟化可以显著减少物理硬件的需求&#xff0c;从而降低硬件成本。通过虚拟化&#xff0c;企业可以利用数据中心提供的规模经济优势&#xff0c;使用更少的服务器来完成相同…

vue2如何父组件 对象 双向绑定子组件

对于Vue 2&#xff0c;你不能直接用v-model绑定对象&#xff0c;但可以通过在子组件内部处理value prop的变化并触发input事件来模拟这一行为。 父组件A 1<template> 2 <ComponentB v-model"item" prop-names"addressId,date,startTime,endTime&quo…

Python中的多线程

第1章&#xff1a;多线程基础 线程的定义和作用 线程是操作系统能够进行运算调度的最小单位。它允许程序在执行过程中同时执行多个任务&#xff0c;提高程序的执行效率。 线程与进程的区别 进程是资源分配的最小单位&#xff0c;而线程是程序执行的最小单位。一个进程可以包…

决策树算法实战

本实战主要目标是讲解如何使用sklearn库来构造决策树&#xff0c;包括其中的一些参数的使用&#xff0c;以及参数调优对模型精确度的影响。 1. 数据处理 导入Pandas和Matplotlib两个库。 # 导入Pandas和Matplotlib两个库 %matplotlib inline import matplotlib.pyplot as pl…

动态规划part02 Day42

LC62不同路径 LC63不同路径II(超时10min) 超时原因分析&#xff1a;思路想错了&#xff0c;即便是正确思路初始化也有点问题&#xff0c;应该将不必要的判断逻辑引入初始化的过程中初始化&#xff1a; 从左上角到[i][0]和[0][j]都只有一条路径dp[i][0]1和dp[0][j]1引入故障&am…