【发布时间】:2016-05-01 05:02:32
【问题描述】:
我有一个简单的 dart 项目,在 bin 文件夹 (test.dart) 中有一个可执行文件。我已经用 dart global activate 激活了它,现在我只需输入该可执行文件的名称即可直接运行它。
在该 dart 文件中,我想知道该脚本的路径。基本上现在我只是打印这样的东西:
print('1: ' + Platform.script.toString());
print('2: ' + Platform.script.path);
print('3: ' + Platform.executable);
print('4: ' + Platform.packageRoot);
print('5: ' + Platform.resolvedExecutable);
当我直接运行时:
test
或与酒吧:
pub global run test
甚至是包名:
pub global run test:test
我总是得到相同的结果:
1: http://localhost:53783/test.dart
2: /test.dart
3: E:\apps\dart-sdk\bin\dart
4:
5: E:\apps\dart-sdk\bin\dart.exe
这里的问题是我无法获取 test.dart 文件的绝对路径。
当我这样运行它时:
dart /path/to/project/bin/test.dart
我得到了我需要的东西:
1: file:///E:/projects/dart/test/bin/test.dart
2: /E:/projects/dart/test/bin/test.dart
3: dart
4:
5: E:\apps\dart-sdk\bin\dart.exe
有没有办法获取当前正在运行的脚本的绝对路径,而不管它是如何执行的?
【问题讨论】:
标签: dart