ExtJS 4.2 build 以错误的顺序生成 Sass 导入

问题描述

我正在使用 ExtJS(sencha cmd 版本 7.3.0.19,SDK 版本 4.2)构建一个应用程序,并且正在尝试添加 aria 支持。当我包含 ext-aria 包(通过将 "requires": [ "ext-aria" ] 添加到 app.json)时,构建失败并显示以下错误

[INF] executing compass using system installed ruby runtime
    error SDM-all.scss (Line 8 of ../../../../../ext/packages/ext-theme-gray/sass/var/button/Button.scss: Undefined variable: "$base-color".)

当我检查构建过程中生成的 Sass 文件时(在 build/temp/production/App/sass/App-all.scss 中),我发现每个主题的 @import 语句现在的顺序错误

<snip>
$relative-image-path-for-uis: $ext-theme-gray-resource-path;
@import '../../../../../ext/packages/ext-theme-gray/sass/var/button/Button';
@import '../../../../../ext/packages/ext-theme-gray/sass/var/toolbar/Toolbar';
@import '../../../../../ext/packages/ext-theme-gray/sass/var/panel/Panel';
@import '../../../../../ext/packages/ext-theme-gray/sass/var/tip/Tip';
@import '../../../../../ext/packages/ext-theme-gray/sass/var/Component';
@import '../../../../../ext/packages/ext-theme-gray/sass/var/ProgressBar';
<snip>

在这种情况下,Button 依赖于 Component 中设置的变量,该变量尚未导入。这显示ext-theme-gray 主题的问题,但构建中的每个其他主题都存在同样的问题:ext-theme-classicext-theme-neutralext-theme-base

当移除对 ext-aria 的要求后,生成的 Sass 会按照正确的顺序进行所有导入并且构建成功:

<snip>
$relative-image-path-for-uis: $ext-theme-gray-resource-path;
@import '../../../../../ext/packages/ext-theme-gray/sass/var/Component';
@import '../../../../../ext/packages/ext-theme-gray/sass/var/ProgressBar';
@import '../../../../../ext/packages/ext-theme-gray/sass/var/button/Button';
@import '../../../../../ext/packages/ext-theme-gray/sass/var/toolbar/Toolbar';
@import '../../../../../ext/packages/ext-theme-gray/sass/var/panel/Panel';
<snip>

我不明白为什么引入一个新包会改变其他包/主题生成它们的 Sass 的方式,并且在尝试挖掘构建文件时,我找不到负责此排序的代码

>

有人可以提供一些指导吗?

这个 old forum post 似乎描述了同样的问题,但没有得到任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...