gpt4 book ai didi

angularjs - Angular Dart 与 polymer 和 Service Worker 不兼容

转载 作者:行者123 更新时间:2023-12-02 22:47:22 27 4
gpt4 key购买 nike

我目前正在尝试构建一个与 Google 渐进式网络应用规范兼容的网络应用。为此,我使用 Angular 以及基于 Dart 和 Polymer 的 Web 组件,而不是 Angular 组件。到目前为止,一切都按预期进行。为了使应用程序能够离线使用 Service-Worker API,我使用以下 dart 库:https://github.com/isoos/service_worker

使用 Polymer 或 Service-Worker 都可以正常工作,但组合 Bootstrap 会在应用程序启动时退出并出现错误。

这是我的 AppComponent 启动例程:

// ... other imports
import 'package:service_worker/window.dart' as sw; // <-- import alone causes the error

Future main() async {
await initPolymer(); // <-- causes the error in combination with the import above
bootstrap(AppComponent);

if (sw.isNotSupported) {
print('ServiceWorkers are not supported.');
return;
}
//... initializing service worker
}

即使我没有初始化 Service-Worker,也会发生错误,导入 Service-Worker 模块就足以导致错误。

构建应用程序时不会出现任何错误。

我是 Dart 以及 Polymer 和 Angular 生态系统的新手,我收到的错误消息对我来说没有多大帮助:

Uncaught Error: NoSuchMethodError: method not found: js_helper.dart:1742 'h' (J.Q(...).h is not a function)
at Object.J.H (http://127.0.0.1:8080/index.bootstrap.initialize.dart.js:9747:15)
at http://127.0.0.1:8080/index.bootstrap.initialize.dart.js:10559:1584
at Isolate.e.(anonymous function) (http://127.0.0.1:8080/index.bootstrap.initialize.dart.js:10608:15)
at Object.yK (http://127.0.0.1:8080/index.bootstrap.initialize.dart.js:9291:22)
at http://127.0.0.1:8080/index.bootstrap.initialize.dart.js:9282:10
at yM.a (http://127.0.0.1:8080/index.bootstrap.initialize.dart.js:2612:72)
at yM.dart.yM.$2 (http://127.0.0.1:8080/index.bootstrap.initialize.dart.js:2828:24)
at y9.dart.y9.$1 (http://127.0.0.1:8080/index.bootstrap.initialize.dart.js:2824:31)
at xM.bi (http://127.0.0.1:8080/index.bootstrap.initialize.dart.js:3767:40)
at xk.$0 (http://127.0.0.1:8080/index.bootstrap.initialize.dart.js:3167:16)

您能给我提示一下可能导致错误的原因以及如何修复它吗?我非常想使用 Polymer 组件而不是普通的 Angular 组件,但我需要 Service-Worker 来支持离线缓存。

最佳答案

这看起来像是由于 dart:js (旧样式,由原始 polymer 包使用)和 package:js (新样式,由所有新包使用,包括 package:service_worker)。

您可能想看看 polymerize项目,它通过新型互操作引入了 Polymer。那么你们就不会有冲突了。

关于angularjs - Angular Dart 与 polymer 和 Service Worker 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43274976/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com