flutter get 命令行工具

mac终端执行:

flutter pub global activate get_cli

这个安装完以后会提示英文提示你要把一个 目录添加到mac环境变量中,下面的目录是你安装完以后提示你放到环境变量里的目录

export PATH="$PATH":"$HOME/.pub-cache/bin"

mac13系统以后环境变量的2个文件如下:

open ~/.bash_profile
open ~/.zshrc

用终端执行打开文件,然后把环境变量 :export PATH=" P A T H " : " PATH":" PATH":"HOME/.pub-cache/bin"放进去,再保存

激活这2个文件

source ~/.bash_profile 
source ~/.zshrc

之后在终端输入:
get 或者 getx 会出现get的帮助,显示每个命令什么作用:

终端进入到项目所在目录再执行命令

get init

按照提示输入2次1,会覆盖项目,慎用
初始化get,要打开这样才能让get 执行,有的时候会失败,需要多执行几次,如果碰到执行put get停止的时候,可以自己手动打开项目,用android studio打开 pubspec.yaml 文件,点击put get自己安装 get插件
有的这个时候提示你flutter的另一个进程正在使用pub get,被锁定lock. 这个时候要自己手动找到flutter的sdk目录然后删除文件:flutter/bin/cache/lockfile ,这样就会解除lock了,这个时候自己再执行get put

create page 生成一整套页面+控制器+路由

 get create page 页面名

这个会生成GetView页面类,在modules文件夹下生成页面名字的文件夹,还会生成跟这个页面绑定的controller文件,binding文件,还会在app_pages.dart和app_routes.dart里面添加路由跳转页面的代码,
建议直接用get create page 命令,就不用在用get create controller生成控制器了
例如我执行:

get create page PG1

如下图显示修改了的文件,生成的文件夹和文件

flutter get 命令行工具_第1张图片

create view 单独生成页面GetView

 get create view 页面名字

在views文件夹下单独生成一个GetView页面.

create controller 单独生成控制器controller

get create controller 控制器名

生成控制器,如果你使用了大写字母,他会把文件名自动变成小写字母+下划线 .类名全写的话,自动变成首字母大写,太过智能了
例如:

create controller HOME

会生成文件:
home_controller.dart
生成类名:
HomeController

create provider 生成provider

get create provider: provider的名字 on 文件夹名字

注意这个on意思是在哪个文件夹里面生成文件,其他get命令也可以用这个语法
例如:

get create provider: provider的名字 on 文件夹名字

generate locales 国际化

get generate locales

注意,直接执行会提示错误 + assets/locales directory does not exist.,告诉你 assets/locales文件不存在
需要自己建立文件夹和2个json文件:
en_US.json
zh_CN.json,如下图:
flutter get 命令行工具_第2张图片
例如在里面写1个页面的登录和登出的显示用的字符串:
zh_CN.json

{
  "view1": {
    "login": "登录",
    "logout": "退出"
  }
}

en_US.json

{
  "view1": {
    "login": "Login",
    "logout": "Logout"
  }
}

这时候再执行get generate locales 会生成 lib/generated/locales.g.dart 文件
在这里插入图片描述
之后要在main.dart中加入:

import '/generated/locales.g.dart';

GetMaterialApp(
	  translationsKeys: AppTranslation.translations,
      locale: const Locale('zh','CN'),//设置默认语言
      fallbackLocale: const Locale('en','US'),//设置上面默认语言出错后备用语言
}

打开locales.g.dart 文件


class LocaleKeys {
  LocaleKeys._();
  static const pg1_login = 'pg1_login';
  static const pg1_logout = 'pg1_logout';
}

class Locales {
  static const zh_CN = {
    'pg1_login': '登录',
    'pg1_logout': '退出',
  };
  static const en_US = {
    'pg1_login': 'Login',
    'pg1_logout': 'Logout',
  };
}

可以看到get帮你生成的字符串.要用到这个字符串的时候,可以用下面2个种代码,他俩是等价的

'pg1_login'.tr 
 LocaleKeys.pg1_login.tr

你可能感兴趣的:(flutter)