uni-app vue3引用引入sass mixin报错 [plugin:vite:css] Undefined mixin.

发布于 1周前 作者 zlyuanteng 来自 Uni-App

uni-app vue3引用引入sass mixin报错 [plugin:vite:css] Undefined mixin.

信息类别 详细信息
产品分类 uniapp/App
PC开发环境 Windows
手机系统 Android
手机厂商 华为
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

示例代码:

引入sass mixin报错:

操作步骤:

引入sass mixin报错:

预期结果:

引入sass mixin报错:

实际结果:

引入sass mixin报错:

bug描述:

引入sass mixin报错:


2 回复

解决了嘛朋友?咋整的啊?


在使用 uni-appVue 3 开发时,如果你在引入 Sassmixin 时遇到 [plugin:vite:css] Undefined mixin. 的错误,通常是因为 Sass 文件没有被正确加载或路径配置有问题。以下是一些可能的解决方案:

1. 确保 sasssass-loader 已安装

首先,确保你已经安装了 sasssass-loader

npm install sass sass-loader --save-dev

2. 检查 mixin 文件路径

确保你在 vue 文件中正确引入了 mixin 文件。例如:

@import '@/styles/mixins.scss';

这里的 @src 目录的别名,确保路径是正确的。

3. 配置 vite.config.js

如果你使用的是 Vite,你需要在 vite.config.js 中配置 css 选项,确保 Sass 文件能够被正确解析。例如:

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';

export default defineConfig({
  plugins: [vue()],
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: `@import "@/styles/variables.scss"; @import "@/styles/mixins.scss";`
      }
    }
  }
});

在这个配置中,additionalData 选项会自动在每个 scss 文件的开头插入指定的 Sass 文件内容,这样你就不需要在每个文件中手动引入 mixin 了。

4. 检查 mixin 定义

确保你的 mixin 定义是正确的。例如:

// mixins.scss
@mixin center {
  display: flex;
  justify-content: center;
  align-items: center;
}

5. 重启开发服务器

有时候,配置更改后需要重启开发服务器才能生效。尝试关闭并重新启动 Vite 开发服务器。

6. 检查 Sass 语法

确保你在 vue 文件中使用的 Sass 语法是正确的。例如:

<style lang="scss">
.container {
  [@include](/user/include) center;
}
</style>

7. 检查 Vite 版本

确保你使用的 Vite 版本与 uni-appVue 3 兼容。如果版本不兼容,可能会导致一些奇怪的问题。

8. 检查 uni-app 配置

如果你使用的是 uni-app,确保你的 uni-app 配置支持 Sass。通常 uni-app 默认支持 Sass,但如果你有自定义配置,可能需要检查一下。

9. 使用 [@use](/user/use) 替代 @import

如果你使用的是 Dart Sass,建议使用 [@use](/user/use) 替代 @import,因为 @import 在未来可能会被弃用。例如:

[@use](/user/use) '@/styles/mixins.scss' as *;

.container {
  [@include](/user/include) center;
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!