美文网首页Flutter圈子Flutter中文社区flutterWeb
Dart Pub Global 创建命令行应用程序(Window

Dart Pub Global 创建命令行应用程序(Window

作者: 法的空间 | 来源:发表于2019-08-14 10:23 被阅读17次

    最近想对项目的里面的route进行改造,看了下阿里的路由注解, 因为没法处理统一处理Package里面的页面.所以想自己来写一套。

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

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

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

    环境变量

    Windows10上面搜寻环境变量,如下图

    image

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

    image

    命令行输入

    dart --versionpub --version 验证是否环境准备妥当

    image

    安装dart脚手架

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

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

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

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

    image

    安装完毕之后可以在你的账号的AppData里面找到它

    image

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

    创建项目

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

    stagehand console-full

    image

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

    项目结构

    用vscode打开


    image

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

    image

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

    image

    内裤


    image

    测试,Run和Debug可以点击,很明显6*7=42,所以测试会通过

    image

    本地安装

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

    image

    安装完毕之后可以在你的账号的AppData里面找到它


    image

    执行

    pub global run pub_demo

    image

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

    我们在bin下面增加一个pub_demo.dart,增加main入口,并且直接执行main.dart的main函数


    image

    然后我们重新安装一下,再次执行

    image

    生成应用程序

    在pubspec.yaml文件中加入

    executables:
      pub_demo:
    

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

    image
    你会发现多一行
    Installed executable pub_demo.

    现在你就可以直接执行
    pub_demo

    image

    发布

    你可以通过命令将你的包发布到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一下依赖

    image

    然后执行,就可以自动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全家桶,真香。

    image

    相关文章

      网友评论

        本文标题:Dart Pub Global 创建命令行应用程序(Window

        本文链接:https://www.haomeiwen.com/subject/vpgwjctx.html