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
- 文章链接:
- 版权声明
- 非自由转载-非商用-非衍生-保持署名