使用 RIkuloUI 飞镖。为什么没有输出?
Dart with RIkuloUI. Why is there no output?
编码员们晚上好,
我对 Dart 有一个严重的问题,Rikulo_Ui 更具体地说,问题只出现在 Rikulo_Ui。
我真的是所有 Dart 东西的新手,所以请保持温和,不要犹豫,询问更多信息。
我的问题是,一旦我尝试使用 Rikulo_ui 组件,我只能在浏览器中看到一个白屏,没有任何显示。真的没什么。调用 rikulo 部分之前的代码,但第一次调用 Rikulo 方法会导致白屏错误。所以对于这段代码:
import 'package:rikulo_ui/view.dart';
import 'dart:js' as js;
void main() {
js.context.callMethod("alert",["Hello"]);
final welcome = new TextView("Hello World!");
welcome.profile.location = "center center";
welcome.on.click.listen((event) {
welcome.text = "Hi, this is Rikulo.";
welcome.style.border = welcome.style.border.isEmpty ? "1px solid blue": "";
welcome.requestLayout(); //need to re-layout since its size is changed
});
welcome.addToDocument();
}
警报已完美调用,但随后我只看到白屏。 dartium 浏览器的开发者工具导致我出现以下异常:
package:rikulo_ui/src/view/view_impls.dart:26 Exception: No static getter 'browser' declared in class '_ViewImpl'.
NoSuchMethodError: method not found: 'browser'
Receiver: Type: class '_ViewImpl@107880211'
Arguments: [...]
我将 pub 与教程中的配置一起使用,并添加了依赖项 rikulo_ui 并使用了 pub get
和 pub install
。
应该显示我的代码的 HTML 文件如下所示:
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<link rel="stylesheet" type="text/css" href="packages/rikulo_ui/css/default/view.css" />
</head>
<body>
<script type="text/javascript" src="packages/browser/interop.js"></script>
<script type="application/dart" src="HelloWorld.dart"></script>
<script src="packages/browser/dart.js"></script>
</body>
</html>
Rikulo端下载的example退出同样报错。我真的无法使用任何 Rikulo 组件。我还确保 Dartium 和 Dart 都具有相同的版本 (1.13.0)。
感谢您的帮助!
此致,
托尔斯滕
一些建议与您问题中的相关问题无关,但在尝试 Dart 时会为您省去更多问题:
为了让所有工具都能正常工作,您应该坚持 Pub 包布局约定 https://www.dartlang.org/tools/pub/package-layout.html
在 GitHub 存储库中,pubspec.yaml
文件应该位于顶层(没有 Dart
子目录)。在这种情况下这无关紧要,但会阻止将存储库添加为 pubspec.yaml
中的依赖项。 https://www.dartlang.org/tools/pub/dependencies.html#git-packages
Web 入口页面应位于 web
顶级目录中。这个比较重要。
只是一个 Dart 风格指南建议:在文件和包名称中只使用小写字母和下划线。这确保一切在所有操作系统上都能正常运行。
添加具体的版本限制,而不是 none
或 any
。当发布的旧包本身没有适当的约束时,这通常会导致意外的旧包版本,如果由于不兼容的约束与最近的包存在分辨率冲突,有时会选择这些旧版本。
请升级到最新的 Rikulo UI (0.8.0)。我修复了最新SDK的一些不兼容问题。
编码员们晚上好,
我对 Dart 有一个严重的问题,Rikulo_Ui 更具体地说,问题只出现在 Rikulo_Ui。
我真的是所有 Dart 东西的新手,所以请保持温和,不要犹豫,询问更多信息。
我的问题是,一旦我尝试使用 Rikulo_ui 组件,我只能在浏览器中看到一个白屏,没有任何显示。真的没什么。调用 rikulo 部分之前的代码,但第一次调用 Rikulo 方法会导致白屏错误。所以对于这段代码:
import 'package:rikulo_ui/view.dart';
import 'dart:js' as js;
void main() {
js.context.callMethod("alert",["Hello"]);
final welcome = new TextView("Hello World!");
welcome.profile.location = "center center";
welcome.on.click.listen((event) {
welcome.text = "Hi, this is Rikulo.";
welcome.style.border = welcome.style.border.isEmpty ? "1px solid blue": "";
welcome.requestLayout(); //need to re-layout since its size is changed
});
welcome.addToDocument();
}
警报已完美调用,但随后我只看到白屏。 dartium 浏览器的开发者工具导致我出现以下异常:
package:rikulo_ui/src/view/view_impls.dart:26 Exception: No static getter 'browser' declared in class '_ViewImpl'.
NoSuchMethodError: method not found: 'browser'
Receiver: Type: class '_ViewImpl@107880211'
Arguments: [...]
我将 pub 与教程中的配置一起使用,并添加了依赖项 rikulo_ui 并使用了 pub get
和 pub install
。
应该显示我的代码的 HTML 文件如下所示:
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<link rel="stylesheet" type="text/css" href="packages/rikulo_ui/css/default/view.css" />
</head>
<body>
<script type="text/javascript" src="packages/browser/interop.js"></script>
<script type="application/dart" src="HelloWorld.dart"></script>
<script src="packages/browser/dart.js"></script>
</body>
</html>
Rikulo端下载的example退出同样报错。我真的无法使用任何 Rikulo 组件。我还确保 Dartium 和 Dart 都具有相同的版本 (1.13.0)。
感谢您的帮助!
此致, 托尔斯滕
一些建议与您问题中的相关问题无关,但在尝试 Dart 时会为您省去更多问题:
为了让所有工具都能正常工作,您应该坚持 Pub 包布局约定 https://www.dartlang.org/tools/pub/package-layout.html
在 GitHub 存储库中,
pubspec.yaml
文件应该位于顶层(没有Dart
子目录)。在这种情况下这无关紧要,但会阻止将存储库添加为pubspec.yaml
中的依赖项。 https://www.dartlang.org/tools/pub/dependencies.html#git-packagesWeb 入口页面应位于
web
顶级目录中。这个比较重要。只是一个 Dart 风格指南建议:在文件和包名称中只使用小写字母和下划线。这确保一切在所有操作系统上都能正常运行。
添加具体的版本限制,而不是
none
或any
。当发布的旧包本身没有适当的约束时,这通常会导致意外的旧包版本,如果由于不兼容的约束与最近的包存在分辨率冲突,有时会选择这些旧版本。
请升级到最新的 Rikulo UI (0.8.0)。我修复了最新SDK的一些不兼容问题。