Ember pod 样式组件 SCSS:变量未定义

Ember pod style component SCSS: variable undefined

我正在开发一个使用 ember-cli-sassember-component-css.

的 pod 风格 ember 应用程序

我在 app/styles/app.scss 中定义了一个如下所示的变量:

$yellow: #f2d173;

但是当我尝试在位于 app/components/login-form/styles.scss 的组件的 scss 文件中使用该变量时,我收到一条错误消息:

Error: Undefined variable.

我本以为 app.scss 文件会首先加载,并且我的变量可以在我的组件中访问 - 但有些地方运行不正常。

有人知道如何在我的组件中访问应用程序范围的 scss/sass 变量吗?

可能是包含文件/传递 var 的问题...关于您的项目组织的更多信息会有所帮助 ...

你如何organize/include你的modules/files(@import或新规则@use)?
您的项目的 file/dicrectory 结构如何?

如果您使用 @import 的传统方式工作,那么将 files/modules 导入主文件的顺序很重要。您可以查看:

  1. 如果@import:
    app/styles/app.scss 中设置变量后,.../login-form/styles.scss 是否导入到 main.scss?

(如果您正在使用 ember pod 样式 css 文件,您可能正在从 @import "pod-styles"; 导入 login-form 的样式,确保您的变量定义是在那行之前!)

如果您确实使用新技术 @use 这是另一种方法,可能有点棘手。您可以查看:

  1. 如果@use:
    设置变量的文件(app/styles/app.scss@use'到.../login-form/styles.scss需要变量的地方吗?

  2. Alertnative if @use: 如果模块 app/components/login-form/styles.scss 本身就是 @use,那么当您 @use 时,您是否将变量传递给了模块?

由于 @use 是新的,这里有一些关于它如何工作的更多信息:https://sass-lang.com/documentation/at-rules/use