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

做后端的,前端水平有限,最近练手,遇到了左侧菜单是展开关闭的问题,接触到了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>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值