最简单明了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文件结构。

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

 

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

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

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

$textred:#ff0000;

$textgreen:#00ff00;

:export {

    textred:$textred;

    textgreen:$textgreen

}

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

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

 

export interface stylesTypeName{

    textred:string

    textgreen:string

}

const globalStyles:stylesTypeName

export default globalStyles

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

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

 

App.vue中的使用:

你可能感兴趣的:(sass,scss,前端)