使用 Mason 创建自己的 Flutter brick

220 阅读3分钟

使用 Mason 创建自己的 Flutter brick

原文 medium.com/gytworkz/cr…

前言

谁不喜欢用最少的努力完成大部分事情呢?我当然知道! !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

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

文件夹内容

  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

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

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 秒钟,对我来说是一个激励,感谢。

祝你有一个美好的一天~

猫哥课程


© 猫哥