postcss-mixins 在 Vue 项目里怎么用?总是报 mixin 未定义
我在 Vue3 + Vite 项目里装了 postcss 和 postcss-mixins,也配好了插件,但写 mixin 的时候一直提示找不到。是不是语法不对?
我试过在 style 里直接写 @define-mixin,也试过单独放一个 mixins.css 文件再 @import,都不行。控制台报错:Unable to find the mixin “button-style”
<style scoped>
@define-mixin button-style $color {
background: $color;
border: none;
padding: 8px 16px;
}
.my-button {
@mixin button-style #007bff;
}
</style>
首先看看你的vite.config.js,postcss-mixins插件要放在postcss-import后面,顺序不能反。建议这样配:
然后建议把mixin单独放文件里,别写在组件style里。比如在src/styles/mixins下新建buttons.css:
组件里这样用:
遇到过最坑的是缓存问题,配完记得重启dev server。要是还报错,可以试试在mixinsDir配置里用path.resolve处理下路径。