私はいくつかのコードを書いており、それをパッケージで提供したいのですが、それをワーカーとしてパッケージ コンシューマーにも公開したいと考えています。この目的のために、Isolate を内部で実行し、send コマンドとリスナーを使用して Isolate と通信して機能を提供するラッパー クラスを作成しました。
bin
またはweb
ディレクトリからこのラッパークラスを使用したいときに問題が発生します。提供されたものは、パッケージルートからではなくUri
、実行中/メインのディレクトリから補間されます。Isolate
それbin
はそうでpackagename|bin/
あり、web
それはそうですpackagename|web
。
このクラスをコンシューマにエクスポートして、独自の を構築するよりも簡単な方法を選択できるようにしたいと考えていIsolate
ますが、spawnUri で使用されるメイン ファイルを指定する方法がわかりません。
メインのIsolateがどこから実行されているかに関係なく、常に正しいファイルに解決されるようにファイルを指定する方法はありますか?
構造:
// Exports the next file so the class in it will be package visible
packageroot -> lib/package_exports_code_that_spawns_isolate.dart
// This file should contain URI that always resolve to the next file
packageroot -> lib/code_that_spawns_isolate.dart
// The main worker/Isolate file
packageroot -> lib/src/worker/worker.dart
ありがとう。