我有一个带有两个包的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
我正在尝试在现代工具包中设置面板样式,以便我使用@include panel-ui();
有谁知道为什么我能够将ui-mixins用于经典组件,但是当我尝试将ui-mixins用于现代组件时,我遇到了构建错误?令人困惑的是,如果我运行sencha app watch modern
,它会按预期运行和运行,但是当我运行sencha app watch
或sencha app build
时,我会收到上面的构建错误。
答案 0 :(得分:2)
在寻找拼写错误,代码示例或其他报告的几个小时之后,我认为你的问题是我在网上找到的唯一的东西,然后在给予它赏金后,我觉得我找到了一个解决方案。
我在我的projectname / sass / var / all.scss中使用了这个代码,它给出了与报告完全相同的错误。
@include panel-ui (
$ui: 'mainmenu',
$body-background-color: red
);
然后寻找样本(如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找到了面板-ui定义