我正在使用目标android / ios / web启动一个flutter项目,有没有办法为移动和网络平台编写相同的lib代码?找不到诸如条件导入之类的解决方案。
在我的项目中,我创建了一个文件'global_import.dart',其中包含所有针对Web和移动设备的导入细节,如下所示:
//mobile packages
/*
export 'package:flutter/material.dart';
*/
//web packages
///*
export 'package:flutter_web/material.dart';
//*/
我没有立即在我的小部件文件中导入flutter或flutter_web软件包,而是导入了该文件并根据需要对移动/ Web软件包进行了注释/取消注释。
我目前仅找到此解决方案,寻找更好的解决方案。
答案 0 :(得分:2)
这是我发现的代码段,可能会有用。
export 'package:flutter_stub/material.dart'
// ignore: uri_does_not_exist
if (dart.library.html) 'package:flutter_web/material.dart'
// ignore: uri_does_not_exist
if (dart.library.io) 'package:flutter/material.dart';
查看AloïsDeniel的this回购以获取更多信息。
答案 1 :(得分:1)
Flutter 1.9版他们删除了
import 'package:flutter_web/material.dart'
现在您可以直接使用软件包
import 'package:flutter/material.dart';
https://www.youtube.com/watch?v=wzNd3yyLcaU
Flutter Web项目现在可以导入所有常规的flutter导入,不再需要开发Web的特殊情况。