3

mylib などの Web UI (web_ui) ライブラリを使用して、サンプル Web アプリケーションを作成します。

mylib.dart を開き、ライブラリにします。

library mylib;

import 'dart:html';
import 'package:web_ui/web_ui.dart';

part 'xclickcounter.dart';
...

xclickcounter.dart を開き、インポートを削除して挿入します。

part of mylib;

web/out/mylib.dartweb/out/xclickcounter.dartめちゃくちゃになります:

含まれる部分「xclickcounter.dart」には、part-of ディレクティブが必要です

クラスは他のクラスのみをミックスできます

Mixin はクラスにのみ適用できます

...さらにエラーが続きます

私は何を間違っていますか?助けてください :(


編集: 生成されたサンプル コードを編集しない場合、wdc は別のライブラリに分類されるコードを生成します。

  • web/out/xclickcounter.dart => x_click_counter
  • web/out/mylib.dart => mylib_html

web_ui を使用する場合、独自のライブラリを作成するべきではなく、wdc が自動的にこれを行うということですか?


更新: 生成されたサンプル コードと同様に、ライブラリ名を使用せず、web/out/... ファイルで xdc によって生成されたライブラリ名のみに依存している場合、2 つのコンポーネントをインポートするときに問題が発生します。 3番目のファイルに。Dart Editor は次の警告を生成します。

インポートされたライブラリ「compa.dart」と「compb.dart」は同じ名前であってはなりません

回避策は、xdc が web/out/... ファイルで生成するものに基づいてライブラリに名前を付けることです。つまり、次のようになります。

  • compa.dart => x-comp-a
  • compb.dart => x-comp-b

これらのようなライブラリにコンポーネントを明示的に配置すると、Dart Editor の警告が消えます。

4

0 に答える 0