目的是为服务器端Dart应用程序创建一个配置文件,可以根据需要将其导入到如下脚本中:
import 'Config/config.dart';
但是,对于此配置脚本而言,至关重要的是,在使用导入进行访问时,它知道它自己的位置(而不是访问它的文件的位置)。当前,它使用下面的这一行来查找路径:
final String ROOT_DIR = dirname(Platform.script.toFilePath());
但是,这将返回导入文件的文件路径,而不是正在导入的文件。这纯粹是为了找出到根文件夹的相对路径而需要知道的,这将允许在配置文件中知道其他绝对路径(例如路由, Controller 和事物),如下所示:
final String PUBLIC_DIR = join(ROOT_DIR, 'Public');
final String VIEWS_DIR = join(ROOT_DIR, 'Views');
解决这个问题的最佳方法是什么?我已经看到了这篇文章:Get script path in Dart (analog __DIR__ constant in PHP),这是相同的情况,但是我看不到使用相对路径查找路由文件夹的一种干净方法。
可能遗漏了一些确实很明显的内容,但目前看不到。任何帮助将不胜感激,谢谢您的阅读。
最佳答案
Dart不支持此功能。
也许Mezoni找到了某种技巧来获取此信息,并将其打包在caller_info
包https://stackoverflow.com/a/24880092/217408中。
在开发过程中,您不能依赖文件的存储路径。
当前,这只是实验性的,但是当您在代码上运行dart2dart
时,所有或许多部分的代码都会被内联。
关于configuration - 在Dart中获取已访问脚本的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26086613/