最简单明了vite+ts+sass无loaders配置,利用ts读取scss文件中的变量并在App.vue中使用

news2024/11/8 23:58:17

做后端的,前端水平有限,最近练手,遇到了左侧菜单是展开关闭的问题,接触到了scss中定义全局变量,利用typescript读取的问题,在此记录一下

vite+ts+sass

环境:package.json中内容如下,软件版本不对,怎么弄都不对

{

{},

 "scripts": {

    "dev": "vite",

    "build": "vue-tsc && vite build",

    "preview": "vite preview"

  },

  "dependencies": {

   ……

    "sass": "^1.61.0",

   ……

    "vue": "^3.2.47",

    "vue-router": "^4.1.6",

    "vuex": "^4.0.2"

  },

  "devDependencies": {

    ……

    "@types/node": "^18.15.11",

    "@vitejs/plugin-vue": "^4.1.0",

    "typescript": "^4.9.3",

……

    "vite": "^4.2.0",

    "vue-tsc": "^1.2.0"

  }

}

1,安装:

pnpm install sass

npm install sass

2,  目录:/src文件下面新建一个styles文件,vscode下的目录变成了  /css/styles

在styles里面新建两个文件:

一个为xxx.module.scss,放sass变量值

一个文件名为xxx.module.d.ts的文件定义xxx.module.scss文件结构。

 

具体代码如下:(注意代码中的加粗部分)

styles/xxx.module.scss内容如下:(xxx是文件名,module.scss就理解成扩展名吧)

$textred:#ff0000;

$textgreen:#00ff00;

:export {

    textred:$textred;

    textgreen:$textgreen

}

styles/xxx.module.d.ts内容如下 :(xxx是文件名,module.d.ts就理解成扩展名吧)

 

export interface stylesTypeName{

    textred:string

    textgreen:string

}

const globalStyles:stylesTypeName

export default globalStyles

下面做了一个点按钮改文本颜色的示例,和实际应用不沾边,不喜勿喷

 

App.vue中的使用:

<template>

  <span :class="color"> 颜色变量值:{{ colorValue }}</span>

  <el-button type="primary" @click="changeColor">显示色值</el-button>

  <router-view />

</template>

<script lang="ts" setup>

import { ref } from 'vue'

import b from '@/styles/xxx.module.scss'

const color = ref("textred");

const colorValue = ref(b.textred);

const changeColor = () => {

  color.value = color.value == "textred" ? "textgreen" : "textred";

  colorValue.value = color.value == "textred" ? b.textred : b.textgreen;

}

</script>

<style lang="scss">

@import "@/styles/xxx.module";//不带.scss部分

.textred {

  color: $textred

}

.textgreen {

  color: $textgreen

}

</style>

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

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

相关文章

利用KMean算法进行分类

什么是KMean算法&#xff1f;简要说明什么是KMean算法&#xff0c;以及KMean算法的应用场景。 KMeans是一种聚类算法&#xff0c;它将数据集分成K个不同的类别&#xff08;簇&#xff09;&#xff0c;使得每个数据点都属于一个簇&#xff0c;并且每个簇的中心点&#xff08;质…

网络通信的安全性(HTTPS)

网络通信的安全性&#xff08;HTTPS&#xff09; 互联网是由无数网络节点组成的&#xff0c;两点之间的通信一般会经过很多个网络节点&#xff0c;因此&#xff0c;我们难免会有疑问&#xff1a; 作为发送方&#xff0c;我发送的消息内容会不会被中间人看到&#xff1f;&…

4.2 矩阵乘法的Strassen算法

1.伪代码以及用到的公式 ​ ​ ​ 2.代码 package collection; ​ public class StrassenMatrixMultiplication {public static int[][] multiply(int[][] a, int[][] b) {int n a.length;int[][] result new int[n][n]; ​if (n 1) {result[0][0] a[0][0] * b[0][0]…

为什么是毫末智行成为了DriveGPT的破壁人?

作者 | 魏启扬 来源 | 洞见新研社 毫末智行有着天生的紧迫感。 很多科技公司一年才举办一次的品牌日活动&#xff0c;毫末智行硬是办成了一个季度一次&#xff0c;活动频次的提高&#xff0c;则意味着组织内部新陈代谢的提速&#xff0c;从研发到落地乃至运营&#xff0c;都要…

ChatGPT 这个风口,普通人怎么抓住?

最近在测试ChatGPT不同领域的变现玩法&#xff0c;有一些已经初见成效&#xff0c;接下来会慢慢分享出来。 今天先给大家分享一个&#xff0c;看完就能直接上手的暴力引流玩法。 所需工具&#xff1a; 1&#xff09;ChatGPT&#xff08;最好是plus版&#xff0c;需要保证快速…

一个开源的大型语言模型LLaMA论文简单解读,LLaMA: Open and Efficient Foundation Language Models

一个开源的大型语言模型LLaMA论文解读&#xff0c;LLaMA: Open and Efficient Foundation Language Models返回论文和资料目录 1.导读 LLaMA 是 Meta AI 发布的包含 7B、13B、33B 和 65B 四种参数规模的基础语言模型集合&#xff0c;LLaMA-13B 仅以 1/10 规模的参数在多数的 …

ASEMI代理AD8638ARJZ-REEL7原装ADI车规级AD8638ARJZ-REEL7

编辑&#xff1a;ll ASEMI代理AD8638ARJZ-REEL7原装ADI车规级AD8638ARJZ-REEL7 型号&#xff1a;AD8638ARJZ-REEL7 品牌&#xff1a;ADI /亚德诺 封装&#xff1a;SOT-23-5 批号&#xff1a;2023 安装类型&#xff1a;表面贴装型 引脚数量&#xff1a;5 类型&#xff1…

初谈 ChatGPT

引子 最近&#xff0c;小编发现互联网中的大 V 突然都在用 ChatGPT 做宣传&#xff1a;“ChatGPT不会淘汰你&#xff0c;能驾驭ChatGPT的人会淘汰你”、“带领一小部分人先驾驭ChatGPT”。 确实&#xff0c;ChatGPT这个新生事物&#xff0c;如今被视为蒸汽机、电脑、iPhone 般的…

【ChatGPT 】国内无需注册 openai 即可访问 ChatGPT:ChatGPT Sidebar 浏览器扩展程序的安装与使用

一、前言 问题&#xff1a;国内注册 openai 账号麻烦&#xff0c;新必应有部分人也无法登录成功&#xff0c;存在域名单点登录失败等问题&#xff0c;所以无法真正使用 ChatGPT 解决&#xff1a;大部分人仅需使用 ChatGPT 的搜索功能&#xff0c;无需真正对话&#xff0c;需要…

云计算技术的现状和未来发展趋势分析

近年来&#xff0c;随着互联网、物联网、大数据等技术的不断发展&#xff0c;云计算技术也随之崛起并迅速发展。云计算技术作为一种新的计算模式&#xff0c;不断地改变着我们的生活和工作方式&#xff0c;成为了当今IT产业的一股强大的力量。本文将详细探讨云计算技术的现状和…

第十天面试实战篇

目录 一、springboot的常用注解&#xff1f; 二、springmvc常用注解&#xff1f; 三、mysql的内连接和外连接有什么区别&#xff1f;比如有两张表&#xff1a;A和B内连接只返回两个表A和B的交集部分 四、redis分布式锁的缺点有哪些&#xff1f; 五、如何使用reddssion解决r…

多个渠道成功销售的秘诀速递

将您的电子商务业务扩展到多个渠道销售似乎是一项艰巨的任务吗&#xff1f;但如果有了正确的多渠道增长战略&#xff0c;这可能是实现快速增长的好方法。当然&#xff0c;您需要考虑借助一些工具与策略&#xff0c;而SaleSmartly&#xff08;ss客服&#xff09;可以为您提供。 …

Python做个猫狗识别系统,给人美心善的邻居

嗨害大家好鸭&#xff01;我是爱摸鱼的芝士❤ 宠物真的看着好治愈 谁不想有一只属于自己的乖乖宠物捏~ 这篇文章中我放弃了以往的model.fit()训练方法&#xff0c; 改用model.train_on_batch方法。 两种方法的比较&#xff1a; model.fit()&#xff1a;用起来十分简单&#…

【剧前爆米花--爪哇岛寻宝】java文件操作和io流

作者&#xff1a;困了电视剧 专栏&#xff1a;《JavaEE初阶》 文章分布&#xff1a;这是一篇关于文件操作的文件&#xff0c;介绍了文件读写以及相关对象的内容&#xff0c;希望对你有所帮助&#xff01; 目录 文件操作 文件路径 绝对路径 相对路径 File类 File类的构造方…

REDIS Hash 槽 与 一致性hash

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…

Spring boot+Vue3博客平台:文章发布与编辑功能的技术实现

本文将详细介绍如何实现一个博客平台中的文章发布与编辑功能&#xff0c;包括前端的Vue组件设计和后端的Spring Boot接口实现。在阅读本文后&#xff0c;您将了解如何设计和实现高效、易用的文章发布与编辑功能。 一、发布文章 设计思路 在设计文章发布功能时&#xff0c;我们…

vscode中调试rust程序

文章目录一、vscode运行和调式rust程序二、常见问题1.rust: Request textDocument/formatting failed.2.cargo命令3.使用rust-gdb调试rust程序4.cargo build太慢一、vscode运行和调式rust程序 环境&#xff1a;在WSL&#xff08;ubuntu20.04&#xff09;中使用vscode &#xf…

数据技术嘉年华星光璀璨,云和恩墨全栈数据技术能力闪耀会场

导语 2023年4月7-8日&#xff0c;由中国DBA联盟&#xff08;ACDU&#xff09;和墨天轮社区联合主办的第十二届『数据技术嘉年华』&#xff08;DTC 2023&#xff09;在北京成功举办。云和恩墨作为大会的协办方和深度参与者&#xff0c;以6场演讲2大展台全面呈现公司的全栈数据技…

几何算法——4.交线(intersection curve)的表达与参数化、微分性质

几何算法——4.曲面求交的交线&#xff08;intersection curve&#xff09;的表达与参数化、微分性质1 关于曲面求交的交线表达2 交线的微分性质3 交线的参数化4 修正弦长参数化的微分性质1 关于曲面求交的交线表达 两个曲面求交&#xff0c;比较经典的方法是用跟踪法&#xf…

wsl使用vscode搭建自己的MySQL

装wsl装MySQL装wsl 我已经装好了,就不说了 装MySQL 安装 MySQL 服务器&#xff1a;终端命令行输入sudo apt install mysql-server 安装完成后&#xff0c;MySQL 服务器会自动启动并在 Ubuntu 启动时启动。您可以使用以下命令检查 MySQL 服务器是否正在运行&#xff1a;sudo ser…