Flutter Widget 之package mason实现详解

 更新时间:2022年11月25日 15:30:18   作者:程序员界的小学生  
这篇文章主要为大家介绍了Flutter Widget 之package: mason实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

Flutter有个悠久的传统,便是运行flutter create并删除所有内容,然后在所有标准样板文件(boilerplate)当中尽力复制和粘贴,这很费时又容易出错,而且比报税更无趣,但是是否别无他法?

进入Mason,这是用于欧快速组装新项目或功能的软件包,可以从成为“砖块”的自定义模版中生成代码,而这些模版根据你的项目的特定值呈现

使用Mason砖块

例如想象一下,你正为Flutter新项目使用Mason砖块的pubspec.yaml文件,非常舒适。

有了砖块,看起来就像这样

name: {{ project_name.snakeCasse() }}
dependencies:
    flutter:
        sdk: flutter
    {{#uses_firebase}}
    firebase_core: ^X.Y.Z
    cloud_firestore: ^X.Y.Z
    {{/uses_firebase}}

如果你使用的是Firebase,这将生成包含Firebase依赖项的pubspec.yaml文件

name: socksCatalog
dependencies:
    flutter:
        sdk: flutter
    firebase_core: ^X.Y.Z
    cloud_firestore: ^X.Y.Z

如果你不是使用Firebase,那些依赖项将会被跳过

name: socksCatalog
dependencies:
    flutter:
        sdk: flutter

但是Mason如何知道你的项目名称或你是否使用Firebase?

进入mason_cli 这与flutter_create相似

运行mason make

但因用了Mason及自定义的砖块而更灵活。安装好后,用砖块的名字运行mason make

dart pub global activate mason_cli
mason add --global <BRICK_NAME>
mason make <BRICK_NAME>

Mason会读取砖块的manifest文件并问你一些问题

这里需要知道你的项目名称,以及你是否使用Firebase

Mason_cli支持多种数据类型,包括字符串、布尔值、数字和枚举

如此的话,还有个问题,我们如何找到要使用的砖块名称?

为此,请浏览brickhub.dev并查看公开可用的砖块,世界各地的Flutter开发者已经上传它们自用的样板文件以帮你节省时间

如果没有找到自己喜欢的,请将自己喜欢的Flutter项目结构转为砖块上传以为将来所需节省时间。

顺带一提,砖块大小可任意调整并非只能整个项目

/{{ feature_name}}
   {{ feature_name }}_screen.dart
   {{ feature_name }}_state_management.dart

你是否发现每次开始一个新功能时都会创建相同的启动文件?这种情况也很适合使用砖块

/login
    login_screen.dart
    login_state_management.dart

利用Mason,你可比以往更快地编写应用程序中有趣的部分

如果想了解有关package:mason,或者关于Flutter的其他功能,请访问pub.dev

以上就是Flutter Widget 之package mason实现详解的详细内容,更多关于Flutter Widget package: mason的资料请关注脚本之家其它相关文章!

相关文章

  • Android将图片上传到php服务器的实例代码

    Android将图片上传到php服务器的实例代码

    这篇文章主要介绍了Android将图片上传到php服务器的实例代码,需要的朋友可以参考下
    2017-07-07
  • Android音频可视化开发案例说明

    Android音频可视化开发案例说明

    最近移植Android,当Android能够在设备上面运行之后,首先想到的是让音频设备跑起来。“没有声音,再好的戏也出不来”接下来介绍Android音频可视化开发流程
    2012-12-12
  • Android添加指纹解锁功能的实现代码

    Android添加指纹解锁功能的实现代码

    当开发的APP需要加密验证时可以考虑添加系统指纹解锁功能。这篇文章主要介绍了Android添加指纹解锁功能的实现代码,需要的朋友可以参考下
    2018-07-07
  • Android 打开相册选择单张图片实现代码

    Android 打开相册选择单张图片实现代码

    这篇文章主要介绍了Android 打开相册选择单张图片实现代码的相关资料,需要的朋友可以参考下
    2017-05-05
  • 浅谈RxJava处理业务异常的几种方式

    浅谈RxJava处理业务异常的几种方式

    本篇文章主要介绍了浅谈RxJava处理业务异常的几种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Android 微信图片分享功能

    Android 微信图片分享功能

    本文主要介绍的是,Anroid 分享本地带二维码的图片给微信好友和朋友圈的功能代码,具有一定的参考价值,希望能帮助到有需要的朋友
    2016-07-07
  • Android实现加载状态视图切换效果

    Android实现加载状态视图切换效果

    这篇文章主要为大家详细介绍了Android实现加载状态视图切换效果的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • SurfaceView实现红包雨平移动画

    SurfaceView实现红包雨平移动画

    这篇文章主要为大家详细介绍了SurfaceView实现红包雨平移动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Android 中Activity 之间传递参数

    Android 中Activity 之间传递参数

    这篇文章主要介绍了Android 中Activity 之间传递参数的相关资料,希望通过本文能帮助到大家,让大家实现这样的方法,需要的朋友可以参考下
    2017-10-10
  • android获取屏幕像素思路及代码

    android获取屏幕像素思路及代码

    本文为大家详细介绍下android是怎样获取屏幕像素的,感兴趣的各位可以参考下哈,希望对你学习android有所帮助
    2013-04-04

最新评论