Как настроить импорт для проекта дартс / полимер (в целом и для BWU-datagrid)

Я пробовал примеры из Learning Dart, сайта Dart, Up and Running, и я не могу заставить это работать. Я прочитал и попробовал все, что я знаю, и я все еще не понимаю импорт дротиков.

Я просто пытаюсь настроить свой собственный bwu_datagrid и считаю, что импорт невозможен, потому что, когда я делаю то, что предлагается, или запускаю точный код, скажем, из примеров Learning Dart, и он не работает.

Так может кто-нибудь объяснить мне, подробно, что мне нужно сделать, чтобы сделать проект дартс, где bwu_datagrid отображается на экране без ошибок.

структура моего проекта:

  • / корень
    • / пакеты
      • / bwu_datagrid
      • / полимер,
      • ... другие пакеты
    • / Lib
      • / SRC
        • some_part.dart
      • some_library.dart
    • / веб
      • index.html

1 ответ

Существуют разные виды импорта:

  • import 'dart:blah'; Импорт из Dart SDK, например. dart:html
  • import 'package:blah/something.dart'; Импортирует из пакета, который вы включили через Pub (в вашем pubspec.yaml), который будет отображаться как символическая ссылка внутри вашего packages папки (которые становятся символическими в нескольких местах, например bin\packages а также web\packages
  • import 'path/file.dart'; Импортирует файл из файловой системы, используя относительный путь

Сначала меня смутило то, что если вы хотите импортировать что-то из вашего собственного проекта без указания пути относительно места расположения включаемого файла, вы можете импортировать его, используя package: префикс и название вашего собственного проекта. Это работает, потому что Pub создает символическую ссылку для вашего собственного проекта в папке пакетов.

Например.:

my_project\web\packages\my_project символическая ссылка назад my_project\lib так что вы можете сделать:

import 'package:my_project/my_stuff.dart';

Итак, чтобы импортировать что-то из bwu_datagrid, который является пакетом паба, вам нужно сделать:

import 'package:bwu_datagrid/somefile.dart';

Вам нужно заменить somefile.dart с правильным файлом, который вам нужно включить, так как вы не импортируете "пакеты" напрямую; а точнее файлы из них.

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