База общих кодов невозможна для веб-сайтов и мобильных устройств во флаттере (?)

При попытке объединить мобильную и веб-кодовую базу данных во Flutter я вижу следующую ошибку:

webdev could not run for this project.
This version of webdev does not support the `build_daemon` protocol used by your version of `build_runner`.
Please add a dev dependency on `build_daemon` with constraint: >=1.0.0 <2.0.0
pub finished with exit code 78

мой pubspec.yaml выглядит так:

environment:
  sdk: '>=2.2.0 <3.0.0'

dependencies:
  flutter_web: any
  flutter_web_ui: any

dev_dependencies:
  # Enables the `pub run build_runner` command
  build_runner: ^1.1.2
  # Includes the JavaScript compilers
  build_web_compilers: ^1.0.0

# flutter_web packages are not published to pub.dartlang.org
# These overrides tell the package tools to get them from GitHub
dependency_overrides:
  flutter_web:
    git:
      url: https://github.com/flutter/flutter_web
      path: packages/flutter_web
  flutter_web_ui:
    git:
      url: https://github.com/flutter/flutter_web
      path: packages/flutter_web_ui```

I'm confused about how can "shared code" can really be "shared" across multi-platform in Flutter (shared codebase being the most important feature in Flutter pitch) 

1 ответ

Одно из решений, над которым я работаю, - это использование встроенного javascript во флаттере через прокси-сервер dart. Скопируйте свой код javascript в Web/src и в файл index.html. script src код javascript. В вашем main.dart импортируйте dart:js как js и используйте js.context.callMethod('ваша функция',[ваши параметры] для вызова метода javascript.

Я тоже вынужден использовать javascript, потому что flutter не поддерживает qr reader для chrome.

Как отмечалось в комментариях, в данный момент невозможно совместно использовать базу веб-кода и нативный код в одном проекте. Пожалуйста, обратитесь к этой ссылке, если вы столкнулись с этим сообщением. В нем есть инструкции по обходному пути, доступные команде Flutter.

Другие вопросы по тегам