我已经编写了一些代码,我想在一个包中提供它,但我也想将它作为工人公开给包消费者。为此,我创建了一个包装类,它在内部运行隔离并使用发送命令和侦听器与隔离通信以提供功能。
当我想从bin
orweb
目录中使用这个包装类时,问题就出现了:Uri
提供的是从 running/main 的目录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
谢谢。