当前位置:   article > 正文

Flutter web app跨平台 Error: Not found: ‘dart:html‘_error: dart library 'dart:html' is not available o

error: dart library 'dart:html' is not available on this platform.

Error: Not found: ‘dart:html’

  • 编译代码时,不知道 dart sdk的代码是否会被调用。
  • 手机、浏览器运行时的 flutter sdk 含有的库不同
    • 手机 flutter sdk中没有 dart:html 或 js 这种library。 所以手机代码运行到这个 import dart:html; 就会报错 ```Error: Not found: ‘dart:html’``
    • web的sdk没有 dart.library.io库
    • 具体库看下文介绍

解决办法

  • import包的时候区分下平台,是手机还是浏览器。
  • 怎么区分呢?
1. 查询是否包含 平台特定的包

写sdk的export导出类,用sdk的import,一个道理哈。

export 'src/web.dart' if (dart.library.io) 'src/model.dart';
  • 1
  • 如果有 dart.library.io 就导入 model.dart, 如果没有该库 用默认文件web.dart
  • 非浏览器的平台(手机、服务器、命令行)sdk才有这个库
2. 根据 逻辑表达式 返回 true、false做区分

code

import "a.dart" if (condition) "b.dart";
  • 1
//
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/341796
    推荐阅读
    相关标签
      

    闽ICP备14008679号