我在 Django 应用程序中使用 Dart。有一些配置参数需要传递给 Dart。如何将值传递给 main()?此时我正在考虑在网页中创建隐藏元素并使用查询来获取值。有更好的方法吗?
问问题
972 次
3 回答
6
听起来您正在构建浏览器应用程序?
(顺便说一句,您可以new Options().arguments
用于命令行应用程序。效果很好,但显然浏览器应用程序中没有命令行 :)
(第二,main()
不接受参数,所以我们必须找到另一种方式。)
好的,对于浏览器应用程序,我可能会尝试将一些 JSON 嵌入到<script>
标签内的页面中。然后,使用查询,找到那个元素,解析内容,你就可以开始了。
在您的 HTML 中:
<script id="config">
{"environment":"test"}
</script>
在你的 Dart 文件中:
import 'dart:html';
import 'dart:json' as json;
void main() {
var config = json.parse(query("#config").innerHtml);
print(config['environment']);
}
希望有帮助!
于 2013-02-10T06:55:02.753 回答
1
Options
不再是一种选择。
现在主函数接受参数。
main(List<String> args) {
print(args);
}
如果你来自 python、c、c++。期望args[0]
会给出脚本的路径。
但在 dart 中,args 只是参数。
Platform.script
可以使用对象来获取脚本的路径Uri
。然后Uri.path
将文件路径作为字符串获取。
一个例子:
import 'dart:io';
main(List<String> args) {
var dir = Directory.current.path;
var p = Platform.script.path;
print("$p called with $args in $dir");
}
于 2019-08-19T19:58:54.900 回答