如何添加跨颤动、跨网、跨窗口的有条件导入? [英] How to add conditional imports across Flutter mobile,web and window?

查看:26
本文介绍了如何添加跨颤动、跨网、跨窗口的有条件导入?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有Ffltter应用程序,它为每个平台(移动、Web、窗口)使用不同的Webview插件。
虽然我能够基于webmobile建立import平台,但我无法导入for Windows。

如果不是移动或Web,我尝试添加Else条件,但它需要mobile插件。

  1. 这是我导入Web和手机包的方式(工作中)。
import 'package:eam_flutter/form/mobileui.dart'
    if (dart.library.html) 'package:eam_flutter/form/webui.dart'
    as multiPlatform;   
  1. 这是我导入Web、移动和Windows包的方法(不工作,显示移动Webview异常,因为它不支持桌面)。
import 'package:eam_flutter/form/windowui.dart'
    if (dart.library.html) 'package:eam_flutter/form/webui.dart'
    if (dart.library.io) 'package:eam_flutter/form/mobileui.dart'
    as multiPlatform;

如何为Windows指定条件导入?

推荐答案

,因为Windows不支持有条件导入,因为它位于DART io下。 我有此解决方法,并发现它起作用了。
我最终使用不同的包导入为每个平台创建了文件。

import 'package:flutter/foundation.dart' show kIsWeb;
import 'dart:io' as io;
if(kIsWeb){
{
     return WebPage();  //your web page with web package import in it
}
else if (!kIsWeb && io.Platform.isWindows) {
     return WindowsPage(); //your window page with window package import in it
    } 
else if(!kIsWeb && io.Platform.isAndroid) {
     return AndroidPage();  //your android page with android package import in it
    } 
//you can add others condition...

这篇关于如何添加跨颤动、跨网、跨窗口的有条件导入?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆