可直接使用 css !
import { createApp } from 'vue'
import './style.css'
// 去掉 .vue 使其指向 App.jsx
import App from './App'
// 引入自定义的 css 文件
import './styles/index.css'
createApp(App).mount('#app')
import { defineComponent } from "vue";
export default defineComponent({
setup() {
return () => <div class="root">Hello JSX !</div>;
}
});
vue3 支持最新的 css 语法!Vite 集成了 postcss 的功能! 推荐阅读:https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties
简单说,就是我们可以在 css 文件中进行变量的定义!
/* root 相当于是一个命名空间 */
:root {
--main-bg-color: aqua;
}
.root {
color: red;
/* 使用 */
background-color: var(--main-bg-color);
}
Vite 已经集成了 postcss 的功能!
代码
// 导入 @postcss-plugins/console
// 作用:编译后控制台打印!
import console from '@postcss-plugins/console'
export default {
plugins: [
console(),
]
}
截图
/* root 相当于是一个命名空间 */
:root {
--main-bg-color: aqua;
}
.root {
/* 使用 postcss 插件 @postcss-plugins/console */
@console.error Hello, world 好难啊!终于成功了!和教程不一样!!!;
color: red;
/* 使用 */
background-color: var(--main-bg-color);
}
配置别名,缩短路径。
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// 导入 vueJsx
import vueJsx from '@vitejs/plugin-vue-jsx'
// https://vitejs.dev/config/
export default defineConfig({
// 调用 vueJsx()
plugins: [vue(), vueJsx()],
// 配置别名
resolve: {
alias: {
'@style': '/src/assets/style',
},
},
})
/* root 相当于是一个命名空间 */
:root {
--main-bg-color: aqua;
}
.root {
/* 使用 postcss 插件 @postcss-plugins/console */
@console.error Hello, world 好难啊!终于成功了!和教程不一样!!!;
color: red;
/* 使用 */
background-color: var(--main-bg-color);
}
div {
font-size: 30px;
font-weight: bolder;
}
import { createApp } from 'vue'
import './style.css'
// 去掉 .vue 使其指向 App.jsx
import App from './App'
// 引入自定义的 css 文件
// import './styles/index.css'
// 通过 alias 引入 css 文件
import '@styles/index.css'
createApp(App).mount('#app')
https://github.com/css-modules/css-modules
CSS 模块是一个CSS 文件,默认情况下,所有类名和动画名都在本地范围内。所有 URL ( url(...)
)@imports
都采用模块请求格式(./xxx
并且../xxx
表示相对的,xxx
表示xxx/yyy
在模块文件夹中,即在 中node_modules
)。
**命名:**对于本地类名,建议使用驼峰命名法,但不强制。
.card {
margin: 10px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
box-shadow: 0 0 5px #ccc;
background-color:yellowgreen !important;
}
import { defineComponent } from "vue";
import test from '@styles/test.module.css';
export default defineComponent({
setup() {
return () => <div class={`root ${test.card}`}>Hello JSX !</div>;
}
});
css pre-processors
Vite 天生支持!
包括 sass 、less 等有一定编程能力的 CSS 的预处理工具。
yarn add less --dev
@bgColor: red;
.root {
background-color: @bgColor;
}
import { defineComponent } from "vue";
export default defineComponent({
setup() {
return () => <div class="root">Hello JSX !</div>;
}
});
import { createApp } from 'vue'
import './style.css'
// 去掉 .vue 使其指向 App.jsx
import App from './App'
// 引入自定义的 css 文件
// import './styles/index.css'
// 通过 alias 引入 css 文件
// import '@styles/index.css'
// 改用 less
import '@styles/test.less'
createApp(App).mount('#app')