mac终端执行:
flutter pub global activate get_cli
这个安装完以后会提示英文提示你要把一个 目录添加到mac环境变量中,下面的目录是你安装完以后提示你放到环境变量里的目录
export PATH="$PATH":"$HOME/.pub-cache/bin"
mac13系统以后环境变量的2个文件如下:
open ~/.bash_profileopen ~/.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,要打开vpn这样才能让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
如下图显示修改了的文件,生成的文件夹和文件
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,如下图:
例如在里面写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'.trLocaleKeys.pg1_login.tr