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,要打开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'.tr 
 LocaleKeys.pg1_login.tr
相关推荐
孤鸿玉16 小时前
Fluter InteractiveViewer 与ScrollView滑动冲突问题解决
flutter
叽哥1 天前
Flutter Riverpod上手指南
android·flutter·ios
BG2 天前
Flutter 简仿Excel表格组件介绍
flutter
zhangmeng2 天前
FlutterBoost在iOS26真机运行崩溃问题
flutter·app·swift
恋猫de小郭2 天前
对于普通程序员来说 AI 是什么?AI 究竟用的是什么?
前端·flutter·ai编程
卡尔特斯2 天前
Flutter A GlobalKey was used multipletimes inside one widget'schild list.The ...
flutter
w_y_fan2 天前
Flutter 滚动组件总结
前端·flutter
醉过才知酒浓2 天前
Flutter Getx 的页面传参
flutter
火柴就是我3 天前
flutter 之真手势冲突处理
android·flutter
Speed1233 天前
`mockito` 的核心“打桩”规则
flutter·dart