Extjs 6 - 现代工具包ui-mixins构建错误

cou*_*dev 6 extjs sencha-touch-2 sencha-cmd extjs6-classic extjs6-modern

我有一个带有两个包的Extjs 6工作区(一个用于经典,一个用于现代)和一个示例应用程序.使用相应的ui-mixins设计经典包组件没有问题,例如:@include extjs-panel-ui();. 但是,当我尝试使用相应的ui-mixin设置现代组件的样式时,我收到一个错误:

[ERR] unknown definition for mixin named panel-ui : 

[INF] Build error for ../../../build/temp/production/pra_kitchensink/slicer-temp/pra_kitchensink-example.scss
[ERR] Error: Sass compilation encountered 1 error(s)
[ERR] 
[ERR] BUILD FAILED
[ERR] com.sencha.exceptions.ExBuild: Sass compilation encountered 1 error(s)
[ERR]   at sun.reflect.DelegatingMe
[ERR] thodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERR] 
[ERR] Total time: 21 seconds
Run Code Online (Sandbox Code Playgroud)

我试图在现代工具包中设置一个面板,以便我使用 @include panel-ui();

有谁知道为什么我能够将ui-mixins用于经典组件,但是当我尝试将ui-mixins用于现代组件时,我遇到了构建错误?令人困惑的是,如果我运行sencha app watch modern,它会按预期工作和运行,但是当我运行sencha app watch或者sencha app build我得到上面的构建错误时.

Sve*_*ore 3

在花了几个小时寻找拼写错误、代码示例或其他报告后,我认为你的问题是我在网上找到的唯一问题,然后在给予它赏金后,看起来我找到了解决方案。

我在我的项目名称/sass/var/all.scss 中使用了这段代码,它给出了与您报告的完全相同的错误。

@include panel-ui (
  $ui: 'mainmenu',
  $body-background-color: red
);
Run Code Online (Sandbox Code Playgroud)

然后寻找示例(如 ext-6.0.1/examples/modern/addressbook/sass/src/view/Main.scss),我发现我将其包含在错误的文件中。

因为我想设计 Ext.Panel 的样式,所以我认为它应该包含在 /sass/src/Panel.scss 中,但文件名应该映射到我自己的源文件。就我而言:sass/src/view/main/Menu.scss

现在它可以编译并且工作正常。

我想问题是,当使用 srs/Panel.scss 时,代码根本没有包含在内,而在 var/all.scss 中执行此操作时,它在 Fashion/Cmd 找到 panel-ui 定义之前就被评估得很早。