我使用dart2js
在我的Ubuntu服务器上将dart编译为JavaScript。
我能够使用像print()
这样的简单命令,但我似乎无法使用DOM。
以下代码返回null
。
除了包括已编译的out.js
?
import 'dart:html';
void main() {
print(document.querySelector('body'));
}
HTML:
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="/css/f4cacce_main_1.css" />
<script src="/js/51de0d2_main_1.js"></script>
</head>
<body>
</body>
</html>
答案 0 :(得分:0)
如果您手动导入out.js
,则问题可能出在您的HTML文件中。请将其添加到您的问题中。
您应该使用pub build
代替dart2js
(pub build
在内部使用dart2js
。 pub build
负责为生成的JavaScript添加脚本标记。
在运行pub build
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="/css/f4cacce_main_1.css" />
</head>
<body>
<script type="application/dart" src="main1.dart"></script>
<script src="packages/browser/dart.js"></script>
</body>
</html>
(假设main1.dart
是包含您的Dart代码的文件)。
您可以在Dartium中打开它,而无需构建JavaScript
您也可以使用pub serve
提供此服务,然后从Dartium或支持非Dart的浏览器打开它,pub serve
始终返回正确的输出(Dart或JS)