使用 Mason 创建自己的 Flutter brick

news/2024/4/17 1:15:01/文章来源:https://blog.csdn.net/weixin_42320543/article/details/128107602

使用 Mason 创建自己的 Flutter brick

alt

原文 https://medium.com/gytworkz/create-your-own-flutter-brick-using-mason-7abc70d0324e

前言

谁不喜欢用最少的努力完成大部分事情呢?我当然知道! !Mason 帮我完成了几个简单的步骤。

在本文中,我们将看到如何创建一个冻结兼容的功能块与适当的文件夹结构。

我们开始吧! ! !

正文

Introduction 简介

alt

Mason package

Mason 包裹

Mason 是一个开源工具,可以从称为 brick 的自定义模板中生成代码。对于那些一遍又一遍地编写相同代码的开发人员,或者那些寻找定制可重用模板的方法的开发人员来说,这是很有帮助的。

简而言之,您可以为项目创建自己的文件夹结构和文件,并在所有项目中全局使用它。

Installation 安装

Mason 可以通过 pub.dev 或自制软件安装。

# Install from pub.dev

$ dart pub global activate mason


# Install from homebrew

$ brew tap felangel/mason

$ brew install mason

这样 Mason 就可以在全球范围内使用,你可以通过终端访问 Mason。

从 Mason 开始

首先让我们创建一个文件夹,我将它命名为 mason_brick

在 Vscode 打开文件夹并使用终端运行

$ mason init

这个命令将在你的工作目录中初始化 mason,它将生成一个 mason.yaml 和一个. mason 目录。

alt

Yaml 文件的工作原理类似于 pubspec.yaml,您可以在其中添加来自 github 或直接来自本地目录的所有 brick 块

alt

Mason Yaml 档案

创建新模板

为了创建一个新的模板,我们将创建一个名为 brick 的新文件夹

导航到 brick 块文件夹使用

cd bricks

使用 mason new {{ brick name }}命令创建一个新模板

mason new bloc_feature

这将创建几个文件和文件夹,如下所示,

alt

文件夹内容

  1. __brick__ : 此文件夹将包含创建 brick 所需的模板文件和文件夹
  2. brick.yaml : 该文件包含创建 brick 所需的包和变量
  3. CHANGELOG.md : 此文件用于记录您在后续迭代中所做的更改。
  4. LICENSE : 该文件包含 brick 块的许可证详细信息
  5. README.md : 此文件包含块的标记格式的文档

模板结构

考虑到我们的功能名称是反馈的文件夹结构如下

feedback
|- feeback_bloc
|   |- feedback_bloc.dart
|   |- feedback_event.dart
|   |- feedback_state.dart
|- screen
|   |- feedback_screen.dart
|- widget
|   |- atom
|   | |- feedback_atom.dart
|   |- molecule
|   | |- feedback_molecule.dart
|   |- organism
|   | |- feedback_widget.dart

真正的结构应该是这样的。

alt

Mason 使用八字胡模板语法使开发人员能够创建和维护称为 brick 的复杂模板,而不必编写任何生成器代码。

{{ name }}将使用我们将从终端输入的 name 变量进行更改。

基本概念是编写与通常编写的代码相同的代码,只是用{{ variable }}修改变量

{{ name } screen.dart 的示例代码结构

有一些 extension ,例如 pascalCase、 snakeCase,可以根据需要格式化字符串。

一旦对代码结构感到满意。

打开 brick.yaml 文件,添加参数,

我们只有一个参数,即{{ name }}

alt

将 brick 的路径添加到 mason.yaml

alt

终于跑了

mason get

这将向项目添加 block_Feature。

你差不多完成了! ! !

现在要做的最后一件事是创建模板

mason make bloc_feature

这将要求变量数据。

alt

terminal command (mason make bloc_feature)

终端命令(mason make block_Feature)

假设我们正在命名特性反馈,文件夹结构将如下所示

alt

feedback folder structure

反馈文件夹结构反馈文件夹结构

要在所有项目中使用它,只需通过

mason add --global bloc_feature

结束语

如果本文对你有帮助,请转发让更多的朋友阅读。

也许这个操作只要你 3 秒钟,对我来说是一个激励,感谢。

祝你有一个美好的一天~

猫哥课程
猫哥课程

© 猫哥

  • 微信 ducafecat

  • https://wiki.ducafecat.tech

  • https://video.ducafecat.tech

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_38975.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis——》数据类型:List(列表)

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 Redis——》数据类型:List(列表)一、简介…

复现黑客在后门中藏匿后门

PHP实现在后门中藏匿后门 在攻击渗透的时候会传入shell后门方便进行远控。其中的后门包括多种类型,大马是功能最全的直接提供了可视化的界面方便攻击者进行提权、扫描、上传等一系列的操作。 但有很多hacker不讲武德,在写好的大马中藏入自己的后门&…

VBA Regex 正则表达式应用介绍

. VBA正则表达式介绍 正则表达式或 RegEx 用于在字符串中查找特定的字符。 本文将展示一个 VBA RegEx 示例,并演示为什么在 VBA 中使用正则表达式如此强大。 正则表达式是一个比较大的话题,关于这方面的书很多。 同时也是一个让许多人感到害怕的话题,因为它的语法比较神秘和…

C++入门笔记

C 入门笔记Functions in CC header Files下面主要是我学习C的一个笔记,记录学习中遇到的一些重点事项。下面是视频的连接https://www.bilibili.com/video/BV1Ay4y1i7Z6/?p10&spm_id_from333.1007.top_right_bar_window_history.content.click&vd_sourcee6e…

记录--两行CSS让页面提升了近7倍渲染性能!

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 对于前端人员来讲,最令人头疼的应该就是页面性能了,当用户在访问一个页面时,总是希望它能够快速呈现在眼前并且是可交互状态。如果页面加载过慢,你…

第四章. Pandas进阶—时间序列

第四章. Pandas进阶 4.9 时间序列 1.重采样(resample) 在Pandas中,对时间序列频率的调整称为重采样,即时间序列从一个频率转换到另一个频率的过程,由周统计变成月统计 1).语法: 4.8章 第4点 已介绍过&…

MySQL数据库行级锁之间隙锁、临键锁

间隙锁 默认情况下,InnoDB在 REPEATABLE READ事务隔离级别运行,InnoDB使用 next-key 锁进行搜索和索引扫描,以防止幻读。 索引上的等值查询(唯一索引),给不存在的记录加锁时, 优化为间隙锁 。索引上的等值查询(非唯一普通索引)&…

如果把网络原理倒过来看,从无到有,一切如此清晰(下)

人生若只如初见。 前言 当我在台灯下,听着远隔17年前五月天的歌,而在数日后,我的文字也会纵使相隔万里远的来到你的屏幕前,就觉得这一切妙不可言。 OSI 网络七层模型 《如果把网络原理倒过来看,从无到有&#xff0c…

Seal库官方示例(二):encoders.cpp解析

补充一个常用的SIMD操作原理 图片来自的Hang Shao的文章。 完整代码 这个代码主要功能是编码明文,使得能够使用更加完整的明文多项式(前一个只用到了一个多项式的常量),也就是SIMD操作。主要包含了两个部分,一个是BG…

HLS + ffmpeg 实现动态码流视频服务

一、简介 如下图,包含三部分,右边一列为边缘节点;中间一列代表数据中心;左边一列是项目为客户提供的一系列web管理工具: 具体来说在我们项目中有一堆边缘节点,每个节点上部署一台强大的GPU服务器及N个网络…

精彩回顾 | 苏州农商银行新一代云原生信息科技架构体系实践

11月18日,2022年第五届中国金融科技产业大会暨第四届中新(苏州)数字金融应用博览会“基础软件与云原生系统软件”分论坛成功举办。该论坛由由中国计算机学会CTO CLUB(苏州)承办,江苏省金融科技云原生融合创…

目标检测数据标注项目分析-产品缺陷检测

什么是生产过程中的产品缺陷检测? 生产过程中的缺陷检测是保证产品质量的重要环节。及时发现故障或缺陷,并采取适当的措施,我们可以降低运行和质量相关的风险。但在一般视觉系统中,每个缺陷都必须经过检查及预处理才能被检测到,…

javaSE - Arrays - 数组的定义与使用

一、数组基本用法 1.1、什么是数组 数组本质上就是让我们能 “批量” 创建相同类型的变量 也可以说是存储一组相同数据类型的数据的集合 如: 如果需要表示两个数据, 那么直接创建两个变量即可 int a; int b 如果需要表示五个数据, 那么可以创建五个变量 int a1; int a2; int …

[附源码]Python计算机毕业设计Django的4s店车辆管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

DPU网络开发SDK——DPDK(一)

随着软件定义网络SDN的不断发展,网络数据转发面的需求越来越多样化,这体现在更快的数据包处理速率,更高的网络吞吐带宽,更灵活的自定义网络协议。传统的硬件设备无法满足网络协议的自定义,而基于Linux内核网络协议栈的…

【能效管理】变电所运维云平台在上海某医院的设计分析

摘要:本文概述了变电所电力运维技术,分析了医院变电所中存在的技术设备老化和技术荷载不足的技术性问题,并从主变低压进出线路监测故障、环境监测故障、设备档案记录、运维排班记录、分析报告五个方面探讨了变电所电力运维技术的具体应用。变…

Java定时器选择

java计时器和死循环哪个好?哪个建议使用? 计时器性能更好,但是写起来稍微复杂一点。如果是非常短暂的延迟,用死循环也未尝不可。一般来说能不用死循环的尽量不用死循环!如果你使用的是JDK1.5以上的,可以使…

高空简易水果采摘装置设计(CAD+proe)

目 录 摘 要 I Abstract II 1 绪论 1 1.1 选题背景及意义 1 1.2研究现状 1 1.2.1国外果园采摘机械现状 1 1.2.2国内果园采摘机械现状 4 1.2.3果园机械存在问题 5 1.2.4果园采摘机械的发展趋势 6 1.3研究主要内容 7 2 高空简易水果采摘装置原理 8 2.1 水果实采摘方式的选择 8 2.…

时间序列:时间序列模型---随机游走过程(The Random Walk Process)

本文是Quantitative Methods and Analysis: Pairs Trading此书的读书笔记。 随机游走过程是一种特殊的ARMA序列。从分子运动到股价波动等现象都被建模为随机游走。 随机游走过程是AR(1)序列,而且,时间序列在时刻的值为: 随机游走过程本质上是到当前时间…

供应双功能螯合剂THP-Mal,THP 马来酰亚胺,CAS:1314929-99-1

一:产品描述 1、名称 THP-Mal THP Maleimide THP 马来酰亚胺 2、CAS编号:1314929-99-1 3、分子式:C44H57N9O13 4、分子量:919.41 5、外观:白色或者灰白色粉末 6、沸点:1389.365.0 C(Predicted) …