Я написал код, и я хочу предоставить его в пакете, но я хочу также разоблачить его, чтобы упаковать потребителей в качестве рабочего. Для этого я создал класс-оболочку, который выполняет внутреннюю изоляцию и использует команду send, а слушатели общаются с Isolate для обеспечения функциональности.Dart: как указать изолированный URI в импортированном пакете?
Проблемы возникает, когда я хочу использовать этот класс обертки из bin
или web
каталога: Uri
при условии интерполируется из директории бега/главной Isolate
, а не от корня пакета. Для bin
это packagename|bin/
и для web
это packagename|web
.
Я хотел бы экспортировать этот класс для потребителей, чтобы они могли выбрать более простой подход, чем построить свой собственный Isolate
, но я не уверен, как указать основной файл, который будет использоваться в spawnUri.
Есть ли способ указать файл, чтобы он всегда был разрешен к правильному файлу независимо от того, где выполняется основной изолятор.
Состав:
// 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
Спасибо.
Это действительно работает в DartVM на сервере, есть ли способ заставить его работать и в Dart2JS (проанализированный Uri (пакет: pkgname/worker/worker.dart) разрешает http: // localhost: 8080/(в Datrium) ... –