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
相关推荐
每次的天空5 小时前
Flutter学习总结之Android渲染对比
android·学习·flutter
LinXunFeng7 小时前
Flutter - Xcode16 还原编译速度
前端·flutter·xcode
小墙程序员9 小时前
Flutter 教程(十四)动画
flutter
leluckys10 小时前
flutter 专题 六十八 Flutter 多图片上传
前端·javascript·flutter
小墙程序员13 小时前
Flutter 教程(十三)混合开发
flutter
Jalor15 小时前
Flutter 与 HarmonyOS NEXT | IAPKit(应用内支付服务)避坑指南
前端·flutter·harmonyos
小墙程序员1 天前
Flutter 教程(十二)异步编程
flutter
王喆1 天前
跨平台全屏效果实现方案:HarmonyOS、Android与iOS实践总结
flutter·harmonyos
Tee xm1 天前
清晰易懂的 Flutter 卸载和清理教程
linux·windows·flutter·macos
leluckys1 天前
flutter 专题 七十三Flutter打包未签名的ipa
flutter