Dart Pub Global 建立命令行应用程序(Windows)

最近想对项目的里面的route进行改造,看了下阿里的路由注解, 由于无法处理统一处理Package里面的页面.因此想本身来写一套。ios

思考了下,无非是读文件写文件,原本考虑用C#直接写一个工具的,可是最近看下成为一个优秀程序员的101个小建议中提到 不要选择熟悉的技术,而应该是正确的⭐。 跟大佬了解了一下,决定使用dart写一个命令行应用程序,还能够跨端运行。git

美好的一天从抄做业开始,这是财经龙大佬写的Pub Global,按照大佬的步骤,我在窗户儿(Windows)上面也走了下流程,下面我把要注意的说一下。程序员

周末写快写完的草稿丢失,站长大人也找不回来,好心酸,凭着记忆和韧性又从新写了一遍,心酸好困github

环境变量

Windows10上面搜寻环境变量,以下图函数

在Path中增长Dart的路径,我这里是1.1.5版本。工具

命令行输入post

dart --versionpub --version 验证是否环境准备稳当测试

安装dart脚手架

stagehand,其实也是一个dart的命令行应用程序,帮助你建立命令行应用spa

在Path当中添加pub cache的路径,作flutter的小伙伴应该已经配置过了命令行

C:\Users\xxxx\AppData\Roaming\Pub\Cache\bin

命令行输入 pub global activate stagehand 激活stagehand

安装完毕以后能够在你的帐号的AppData里面找到它

其实你不安装这个也行,用Android Studio建立一个Package,而后把flutter sdk从yaml文件中移除就行了。安装这个就是为了方便建立一个命令行程序。

建立项目

cd 到你的建立的一个目录里面,执行

stagehand console-full

而后执行下pub get,把依赖都下载一下。

项目结构

用vscode打开

入口为main.dart,点击debug运行,打印42

修改main.dart,打印参数,使用命令行执行 dart bin/main.dart 1234 5678

内裤

测试,Run和Debug能够点击,很明显6*7=42,因此测试会经过

本地安装

执行下面命令,./表示当前目录,你也能够写绝对路径 pub global activate --source path ./

安装完毕以后能够在你的帐号的AppData里面找到它

执行

pub global run pub_demo

报错提示找不到 pub_demo.dart。这里要提一下,由于是以pub_demo进行安装的,因此默认入口为pub_demo.dart,那么咱们稍加一些改动。

咱们在bin下面增长一个pub_demo.dart,增长main入口,而且直接执行main.dart的main函数

而后咱们从新安装一下,再次执行

生成应用程序

在pubspec.yaml文件中加入

executables:
  pub_demo:
复制代码

而后执行安装命令 pub global activate --source path ./

你会发现多一行 Installed executable pub_demo.

如今你就能够直接执行 pub_demo

发布

你能够经过命令将你的包发布到pub上面去,记得打开那个墙。。。 flutter packages pub publish --server=https://pub.dartlang.org

这里我简单作了一个assets_generator命令行工具,用来自动生成yaml文件中关于assets的配置信息的。 前景是个人混合开发项目,在ios端第一次安装启动的时候资源文件显示不出来,必须杀掉程序从新进才行。听网友说不能直接写到文件夹,要定义到文件。个人乖乖那多麻烦,因此就想着写了这个工具,而后并无卵用(最后发生资源文件的个数竟然会影响,我相信这必定是一个bug)。

我发布上去以后,你能够这样使用,在pubspec.yaml中引入

dev_dependencies:
  assets_generator: ^1.1.1 
复制代码

而后get一下依赖

而后执行,就能够自动pubspec.yaml中生成相关配置信息了。

  • assets_generator path=xxxx type=0
Parameter Description Default
path 项目路径 若是不加默认为当前路径
type 生成信息方式: 0 = 文件夹 ; 1 = 文件 0

结语

命令行应用程序仍是蛮简单的,跟C#里面的命令行程序没什么区别,适合作一些脚本,让双手释放出来。

最后放上 assets_generator,欢迎加入Flutter Candies,一块儿生产可爱的Flutter 小糖果(QQ群:181398081)

最最后放上Flutter Candies全家桶,真香。

相关文章
相关标签/搜索