标签: dart-dev-compiler

Flutter Web 调试正常,但构建 Web 显示空白页面

flutter doctor结果

\n
[\xe2\x88\x9a] Flutter (Channel dev, 1.21.0-1.0.pre, on Microsoft Windows [Version 10.0.19041.388], locale en-US)\n[\xe2\x88\x9a] Android toolchain - develop for Android devices (Android SDK version 29.0.3)\n[\xe2\x88\x9a] Chrome - develop for the web\n[\xe2\x88\x9a] Android Studio (version 4.0)\n[\xe2\x88\x9a] VS Code (version 1.47.2)\n[\xe2\x88\x9a] Connected device (3 available)\n\n\xe2\x80\xa2 No issues found!\n
Run Code Online (Sandbox Code Playgroud)\n

我在 beta 通道中使用 flutter v 1.20-7.2.pre 并遇到了这个问题。所以我切换到了开发频道。

\n

我也尝试运行示例项目(样板文件)并得到一个空白页面。控制台在 main.dart.js 和 js_helper.dart 中显示一些错误:

\n
Could not load content for org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_helper.dart (HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME)\n
Run Code Online (Sandbox Code Playgroud)\n

重现问题

\n

在任何 IDE …

web dart2js flutter dart-dev-compiler flutter-web

6
推荐指数
1
解决办法
1万
查看次数

使用 Dart JS 与 ES6 类的互操作

Java脚本:

class MyClass {

    constructor() {
        console.log("MyClass instance created");
        this.answer = 42;
    }
}

let example = new MyClass();
console.log(example.answer);
Run Code Online (Sandbox Code Playgroud)

镖:

@JS()
library interop_test;

import 'package:js/js.dart';

@JS()
class MyClass {
  external int get answer;
  external set answer(int value);
}
Run Code Online (Sandbox Code Playgroud)

创建互操作类的实例MyClass为

MyClass myClass = MyClass();
Run Code Online (Sandbox Code Playgroud)

结果是:

异常:类型错误:dart.global.MyClass 不是构造函数

我还尝试将 和 添加external MyClass();到external factory MyClass();带@JS()注释的类中,但收到了相同的消息。如果我@anonymous向互操作类添加注释,异常就会消失,但我无法访问实例成员。(但我不明白为什么这需要匿名注释)

我正在使用dart 2.0.0、angular 5.0.0和js 0.6.1+1通过dartdevc。webdev

dart dart-js-interop dart-dev-compiler

4
推荐指数
1
解决办法
1768
查看次数