使用 Mason 创建自己的 Flutter brick
原文 https://medium.com/gytworkz/create-your-own-flutter-brick-using-mason-7abc70d0324e
前言
谁不喜欢用最少的努力完成大部分事情呢?我当然知道! !Mason 帮我完成了几个简单的步骤。
在本文中,我们将看到如何创建一个冻结兼容的功能块与适当的文件夹结构。
我们开始吧! ! !
正文
Introduction 简介
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 目录。
Yaml 文件的工作原理类似于 pubspec.yaml,您可以在其中添加来自 github 或直接来自本地目录的所有 brick 块
Mason Yaml 档案
创建新模板
为了创建一个新的模板,我们将创建一个名为 brick 的新文件夹
导航到 brick 块文件夹使用
cd bricks
使用 mason new {{ brick name }}
命令创建一个新模板
mason new bloc_feature
这将创建几个文件和文件夹,如下所示,
文件夹内容
__brick__
: 此文件夹将包含创建 brick 所需的模板文件和文件夹brick.yaml
: 该文件包含创建 brick 所需的包和变量CHANGELOG.md
: 此文件用于记录您在后续迭代中所做的更改。LICENSE
: 该文件包含 brick 块的许可证详细信息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
真正的结构应该是这样的。
Mason 使用八字胡模板语法使开发人员能够创建和维护称为 brick 的复杂模板,而不必编写任何生成器代码。
{{ name }}
将使用我们将从终端输入的 name 变量进行更改。
基本概念是编写与通常编写的代码相同的代码,只是用{{ variable }}
修改变量
{{ name }}
screen.dart 的示例代码结构
有一些 extension ,例如 pascalCase、 snakeCase,可以根据需要格式化字符串。
一旦对代码结构感到满意。
打开 brick.yaml 文件,添加参数,
我们只有一个参数,即{{ name }}
将 brick 的路径添加到 mason.yaml
终于跑了
mason get
这将向项目添加 block_Feature。
你差不多完成了! ! !
现在要做的最后一件事是创建模板
mason make bloc_feature
这将要求变量数据。
terminal command (mason make bloc_feature)
终端命令(mason make block_Feature)
假设我们正在命名特性反馈,文件夹结构将如下所示
feedback folder structure
反馈文件夹结构反馈文件夹结构
要在所有项目中使用它,只需通过
mason add --global bloc_feature
结束语
如果本文对你有帮助,请转发让更多的朋友阅读。
也许这个操作只要你 3 秒钟,对我来说是一个激励,感谢。
祝你有一个美好的一天~
© 猫哥
微信 ducafecat
https://wiki.ducafecat.tech
https://ducafecat.com