6

2 つのパッケージ (クラシック用とモダン用) とサンプル アプリを含む Extjs 6 ワークスペースがあります。対応する ui-mixins を使用して従来のパッケージ コンポーネントをスタイリングすることに問題はありません (例: @include extjs-panel-ui();)。ただし、対応する ui-mixins を使用して最新のコンポーネントのスタイルを設定しようとすると、エラーが発生します。

[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と上記のビルドエラーが発生します。

4

1 に答える 1

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 が panel-ui 定義を見つける前に早期に評価されたことだと思います。

于 2016-07-01T06:38:48.463 に答える