TSX 和 CSS module 语法 代替 模板 SFC template(使用 Vite 构建)
大纲链接 §
[toc]
1. Vue2.7+ 中 SFC template 写法概述 ⇧
2. 对比 TSX 和 CSS module 写法 ⇧
3. 在项目中用到过的 SFC template 写法,尝试改写为 TSX 和 CSS module ⇧
4. 在 Vue2.x 中使用 TSX 和 CSS module ⇧
5. 在 Vue3.x 中使用 TSX 和 CSS module ⇧
配置 scss 全局样式文件 ⇧
- 需要先配置别名
虽然
vite原生支持less/sass/scss/stylus,但是你必须手动安装他们的预处理器依赖
- 安装依赖
dart-sass,但包的名字为sass - 不要安装为
dart-sass:deprecated dart-sass@1.25.0: This package has been renamed to 'sass'.
|
|
在
src/assets下新增style文件夹,用于存放全局样式文件
- 新建
src/assets/style/main.scss, 设置一个用于测试的颜色变量 :
|
|
- 配置
vite.config.ts,让vite识别scss全局变量
|
|
在任意组件中使用,不需要任何引入可以直接使用全局
scss定义的变量
|
|
对TS的相关配置 ⇧
vue/cli项目中shimes-vue.d.ts文件的作用
- 为了
typescript做的适配定义文件,因为.vue文件不是一个常规的文件类型 ts是不能理解.vue文件是干嘛的 加这个文件是是告诉 ts,.vue文件是这种类型的。
vite项目中env.d.ts文件的作用
- 为了声明 在
vite中使用env环境的配置 可以通过import.meta.env.<变量名称来访问>
vue-tsc和tsc
tsc只能验证 ts 代码类型vue-tsc可以验证ts + Vue Template中的类型(基于 Volar)
JSX支持 ⇧
Vue 3 JSX 相关语法
使用
tsx风格代替template模板方式,需要注意相应改变的地方:
src/router/引入页面文件.tsx代替.vue文件src/main.ts修改引入App文件.tsx代替.vue文件
安装依赖插件
|
|
配置
tsconfig.json,在.tsx文件里支持JSX
|
|
改造
App.vue为App.tsx
|
|
- 运行命令
pnpm dev查看效果
在*.tsx文件中使用css modules ⇧
- 只有在
*.tsx文件中可以正常使用
配置
vit.config.ts
|
|
- 定义一个
*.module.scss或者*.module.css文件- 创建
src/styles/app.module.scss
- 创建
|
|
- 在
*.tsx中引入使用- 改写
App.tsx
- 改写
|
|
- 样式文件
xxx.module.scss中定义类样式.yyy {...} - 引入到
*.tsx文件后,在模板中使用<main class={xxx.yyy}>...</main>
如何优雅的在TSX语法中切换多个className?
|
|
- 使用第三方包
classnames - 安装
pnpm add classnames - 引入
import classname from 'classnames'
上述代码可替换为:
|
|
或者使用数组
|
|
和普通样式写在一起
|
|
参考
参考文章 ⇧
- 无
相关文章 ⇧
- 作者: Joel
- 文章链接:
- 版权声明
- 非自由转载-非商用-非衍生-保持署名