我的Dart应用程序具有以下结构:
myapp/
pubspec.yaml
pubspec.lock
asset/
...
web/
logging/
Logger.dart
LogLevel.dart
...other packages
2显示的Dart文件是:
LogLevel.dart
:
library logging;
class LogLevel {
static const TRACE = const LogLevel._(0);
static const INFO = const LogLevel._(1);
static const ERROR = const LogLevel._(2);
static get values => [TRACE, INFO, ERROR];
final int value;
const LogLevel._(this.value);
}
Logger.dart
:
library logging; // <== compiler error!?!
import "package:logging/LogLevel.dart";
class Logger {
// ...
}
我想,因为我将这两个类放在一个logging
库/包中,它们彼此可见。但事实并非如此!而不是import
语句,我得到以下编译器错误:
URI的目标不存在:'package:logging / LogLevel.dart'
这里发生了什么?我应该如何以不同方式包装/库存我的类型,以便彼此可见?
答案 0 :(得分:1)
您可以通过相对路径导入它们,而无需参考包:
import 'LogLevel.dart';
如果您确实要将它们作为包导入,则需要位于lib
文件夹下。