没有IDE的dart2js编译

时间:2015-01-13 23:00:53

标签: dart dart-html dart-pub

我使用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>

1 个答案:

答案 0 :(得分:0)

如果您手动导入out.js,则问题可能出在您的HTML文件中。请将其添加到您的问题中。

您应该使用pub build代替dart2jspub build在内部使用dart2jspub build负责为生成的JavaScript添加脚本标记。

修改

在运行pub build

之前,您的HTML应如下所示
<!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)