Flutter微框架Nylo(四):Metro CLI

309 阅读5分钟

Metro 是 Nylo 框架的命令行工具。提供了许多有用的方式来加快开发速度。

1. 安装(Mac)

  1. 打开bash_profile

sudo open ~/.bash_profile

  1. 将别名添加到您的bash_profile

alias metro='dart run nylo_framework:main'

  1. 然后运行以下命令

source ~/.bash_profile

  1. 如果打开使用 Nylo 的项目,请尝试在终端中运行以下命令。

metro

应会看到类似于以下内容的输出。

Usage: 
    command [options] [arguments]

Options
    -h

All commands:

 make
  make:controller
  make:model
  make:page
  make:stateless_widget
  make:stateful_widget
  make:theme
  make:event
  make:provider
  make:api_service
  make:theme
  make:route_guard

2. 创建控制器(controller)

可以通过在终端中运行以下命令来创建新控制器。

dart run nylo_framework:main make:controller profile_controller

或者使用别名metro

metro make:controller profile_controller

这将lib/app/controllers/ 目录中创建一个新控制器。

3. 创建模型(model)

可以通过在终端中运行以下命令来创建新模型。

dart run nylo_framework:main make:model product

或者使用别名metro

metro make:model product

这将lib/app/models/ 目录中创建一个新模型。

如果计划使用相同的模型来表示 API 中的对象,请将其添加到lib/config/decoders.dartmodelDecoders 映射中。

参数:

使用该 --force 标志将覆盖现有类(如果已存在)。

metro make:model product --force

4. 创建页面(page)

可以通过在终端中运行以下命令来创建新页面。

dart run nylo_framework:main make:page product_page

或者使用别名metro

metro make:page product_page

这将lib/resources/pages/目录中创建一个新页面。Nylo 还支持使用控制器。使用以下命令创建带有控制器的新页面。

metro make:page product_page -c

5. 创建无状态组件

可以通过在终端中运行以下命令来创建新组件。

dart run nylo_framework:main make:stateless_widget product_rating_widget

或者使用别名metro

metro make:stateless_widget product_rating_widget

这将lib/resources/widgets/目录中创建一个新组件。

6. 创建有状态组件

可以通过在终端中运行以下命令来创建新组件。

dart run nylo_framework:main make:stateful_widget product_rating_widget

或者使用别名metro

metro make:stateful_widget product_rating_widget

这将lib/resources/widgets/目录中创建一个新组件。

7. 创建请求服务(API Service)

可以通过在终端中运行以下命令来创建新新的 API 服务。

dart run nylo_framework:main make:api_service user

或者使用别名metro

metro make:api_service user_api_service

这将lib/resources/widgets/目录中创建一个新新的 API 服务。

可以提供选项来创建 --url="https://myapi.com" Base URL 的 API 服务。

dart run nylo_framework:main make:api_service user --url="https://myapi-baseurl.com"

可以提供一个 --model="User"选项,告诉 Nylo 创建一个新的 API 服务,并使用以下方法:findcreatedeleteupdatefetchAll

dart run nylo_framework:main make:api_service user --model="User"

它会将新创建的 API 服务在 lib/app/networking/ 中。

8. 使用Postman制作请求服务(API Service)

您可以使用 Postman v2.1 集合文件创建新的 API 服务。

首先,您必须将邮递员集合导出到 JSON 文件中(使用 v2.1)。

这应该会给你一个类似 JsonPlaceHolder.postman_collection.json 文件.

您需要将此文件复制到 Nylo 项目中。将导出的文件复制到 public/assets/postman 目录中。

例如. public/assets/postman/JsonPlaceHolder.postman_collection.json 将文件复制到上述目录后,转到终端并运行以下命令。

dart run nylo_framework:main make:api_service json_placeholder --postman="JsonPlaceHolder.postman_collection.json"

或者使用别名metro

metro make:api_service json_placeholder --postman="JsonPlaceHolder.postman_collection.json"

这将为您的Postman集合创建新的ApiServices。

如果您的 Postman 程序集包含 "BASE_URL"或其他变量。您可以打开位于 Nylo 项目根目录下的postman.json 文件,在 Nylo 中定义这些变量。然后,在该文件中添加变量。

{
  "global": {
    "BASE_URL": "https://myapi.site.dev",
    "VERSION": "2.0"
  }
}

如果您的 Postman 集合有已保存的响应,它还会将模型添加到您的项目中。您可以进入 Postman 集合,然后选择一个请求,检查您的集合是否有已保存的响应。您应该会看到一个下拉菜单,其中包含任何已保存的响应。

如果您的集合不包含已保存的响应,则需要使用 Postman 发出 HTTP 请求,然后保存响应。保存的响应名称将用作 Nylo 创建的模型名称。

9. 创建事件(event)

可以通过在终端中运行以下命令来创建新事件。

dart run nylo_framework:main make:event login_event

或者使用别名metro

metro make:api_service login_event

这将lib/app/events目录中创建一个新事件。

您还需要将事件添加到 lib/config/events.dart 中才能使用。

10. 创建providers

可以通过在终端中运行以下命令来创建新provider。

dart run nylo_framework:main make:provider firebase_provider

或者使用别名metro

metro make:provider firebase_provider

这将ib/app/providers/目录中创建一个新provider。

您还需要将事件添加到 lib/config/providers.dart 中才能使用。

11. 创建主题

可以通过在终端中运行以下命令来创建新主题。

dart run nylo_framework:main make:theme bright_theme

或者使用别名metro

metro make:theme bright_theme

12. 创建路由守卫

可以通过在终端中运行以下命令来创建新路由守卫。

dart run nylo_framework:main make:route_guard premium_content

或者使用别名metro

metro make:route_guard premium_content

13. 创建应用图标

您可以通过运行以下命令生成IOS和Android的所有应用程序图标。

dart run flutter_launcher_icons:main

这将使用 pubspec.yaml 文件中的flutter_icons配置。