URI пакета Flutter не существует внутри теста пакета - PullRequest
0 голосов
/ 21 июня 2020

Внутри каталога Flutter project я создал пакет с помощью следующей команды:

 flutter create --template=package emoji_support

После него completes creating the package и completes flutter get.

Но ..

Файлы inisde package's /test directory не могут найти файлы внутри package's /lib directory:

import 'package:flutter_test/flutter_test.dart'; разрешено ✅

Но ...

import 'package:emoji_support/emoji_support.dart'; не разрешено ❌

enter image description here

File structure

введите описание изображения здесь

Я, должно быть, допускаю небольшую ошибку, может ли кто-нибудь помочь мне с этой ошибкой?

Ответы [ 2 ]

1 голос
/ 21 июня 2020

Я создал пакет внутри своего проекта flutter_example_file_picker с flutter create --template=package emoji_support

enter image description here

Then in the pubspec.yaml of the project (not the one inside the plugin) flutter_example_file_picker > pubspec.yaml I added to the dependenceis the package

dependencies:
  flutter:
    sdk: flutter
  emoji_support:
    path: ./emoji_support

and the problem resolved, I could run the test with no problem, also tried with a relative path without adding it to the dependencies and worked too

введите описание изображения здесь

ОБНОВЛЕНИЕ

Думаю, я не понимаю, как это исправить, не добавляя в pubspe c, при создании плагина внутри проекта флаттер плагин AndroidStudio (или VS) все еще работает в основном маршруте (проверьте каталог терминала, он будет C: /.../ Workspace_Android \ 100daysofflutter>, поэтому он не обнаруживает внутренний плагин) и не обновляется до определить новую папку. Даже если он красный и говорит, что не может обнаружить URI.

Вы можете проигнорировать его и попробовать запустить тест и посмотреть, обнаруживает ли он внутренний dart_tool с package_config. json, тогда он будет работать успешно и проблема исчезнет. Второй вариант - переместиться в папку, где находится плагин (в терминале cd my_plugin_name_folder или просто открыть файл и открыть плагин).

Запустить flutter get pub (делает это автоматически при первом создании проект, но иногда, когда вы создаете один внутри другого, он этого не делает), чтобы запустить пакет в первый раз и создать package_config. json внутри dart_tool (dart_tool плагина), в конце файла вы можете увидеть имя и rootUri пакета, теперь вы можете использовать его в своем тесте, и он должен правильно его определить. Иногда он генерируется, но кажется, что он не обновляется правильно, и IDE не знает, даже если он существует.

0 голосов
/ 21 июня 2020

Это просто проблема, которая возникает, когда вы добавляете новые подкаталоги в vsCode. просто простое существование и повторное открытие решит проблему. скажите мне, исправит ли это.

...