Dart CLI 开发上手

简介: Dart CLI 开发上手

DartPad 运行


你可以使用 DartPad 来简单地尝试 Dart 编程语言和 API 且不需要下载任何东西。


安装 Dart


使用 Homebrew,安装 Dart 很容易。

brew tap dart-lang/dart
brew install dart


创建一个小应用


使用 dart create 命令,以 console-full 模板创建一个命令行应用:

dart create -t console-full cli

该命令会创建一个包含下述信息的 Dart 应用:

  • 一个主要的 Dart 源文件,bin/cli.dart,该文件包含一个顶层 main() 函数。该函数是你应用的入口。
  • 一个额外的 Dart 文件,lib/cli.dart,包含一些功能性的函数方法,这些函数方法将会导入到 cli.dart 文件中。
  • 一个 pubspec 文件,pubspec.yaml,包含应用的元数据,包括应用依赖的 package 信息以及所需的版本等。


运行应用


想要从命令行运行应用,请使用 dart run 命令在应用的根目录运行 Dart VM:

cd cli
dart run



image.png


编译成正式产品


上面的示例步骤我们使用的是 Dart VM(即 dart 命令)运行的应用。 Dart VM 针对快速增量编译进行了优化,以便在开发过程中提供即时的响应。现在你的小应用已经完成,是时候 AOT 优化编译你的 Dart 代码为原生机器代码了。

使用 dart compile 工具将程序 AOT 编译成机器代码:

dart compile exe bin/cli.dart

看看编译后的程序启动有多快:

time bin/cli.exe


image.png


获取依赖


如需要获取依赖包,如 args 包,请使用 Pub 包管理器

不过,对于第一个 CLI,我们可以轻松使用 dart pub add 命令添加所需的内容。

dart pub add args


image.png


image.png


dcat 应用代码示例


标准输入并打印实现参考示例,需要使用上面的 args 依赖库。

import 'dart:convert';
import 'dart:io';
import 'package:args/args.dart';
const lineNumber = 'line-number';
void main(List<String> arguments) {
  exitCode = 0; // presume success
  final parser = ArgParser()..addFlag(lineNumber, negatable: false, abbr: 'n');
  ArgResults argResults = parser.parse(arguments);
  final paths = argResults.rest;
  dcat(paths, showLineNumbers: argResults[lineNumber] as bool);
}
Future<void> dcat(List<String> paths, {bool showLineNumbers = false}) async {
  if (paths.isEmpty) {
    // No files provided as arguments. Read from stdin and print each line.
    await stdin.pipe(stdout);
  } else {
    for (final path in paths) {
      var lineNumber = 1;
      final lines = utf8.decoder
          .bind(File(path).openRead())
          .transform(const LineSplitter());
      try {
        await for (final line in lines) {
          if (showLineNumbers) {
            stdout.write('${lineNumber++} ');
          }
          stdout.writeln(line);
        }
      } catch (_) {
        await _handleError(path);
      }
    }
  }
}
Future<void> _handleError(String path) async {
  if (await FileSystemEntity.isDirectory(path)) {
    stderr.writeln('error: $path is a directory');
  } else {
    exitCode = 2;
  }
}


image.png


发布


和 Flutter 库包发布流程类似,可以选择提交到官方 Dart Pub,或者自己的私服。

目录
相关文章
|
3月前
|
缓存 Rust 前端开发
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri2.0环境搭建与项目创建
216 0
|
3月前
|
Web App开发 Rust 前端开发
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri App开启远程调试功能
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri App开启远程调试功能
219 0
N..
|
1月前
|
开发框架 Dart 开发工具
搭建Flutter开发环境
搭建Flutter开发环境
N..
16 0
|
5月前
|
开发框架 移动开发 小程序
快速上手小程序框架Taro,安装及使用教程(一)
快速上手小程序框架Taro,安装及使用教程(一)
66 0
|
9月前
|
Dart Linux 开发工具
《深入浅出Dart》Flutter环境的安装与配置
Flutter环境的安装与配置 在开发Flutter应用之前,我们首先需要安装和配置Flutter环境。在本文中,我们将分别介绍Windows,macOS和Linux下的安装和配置过程。首先,需要满足以下基本要求: 操作系统:Windows 7 SP1或更高版本,macOS 10.10或更高版本,或Linux(对各发行版没有特殊要求) 磁盘空间:1.64 GB以上 Git:确保您的操作系统上安装了Git。
111 0
|
9月前
|
Dart Linux 开发工具
《深入浅出Dart》搭建环境
搭建环境 对于任何编程语言来说,搭建一个有效且稳定的开发环境是编程旅程的第一步。对于Dart,这个过程已经变得非常简单。下面是一篇关于如何安装和配置Dart环境的详细指南: 第一步:下载Dart SDK 首先,你需要下载Dart的软件开发包(SDK)。SDK包含了运行和开发Dart应用所需要的一切工具,包括Dart VM,Dart的包管理器Pub,以及一系列用于编译和调试的工具。你可以从Dart的官方网站下载最新版本的Dart SDK。
100 0
|
11月前
|
设计模式 前端开发 JavaScript
vee-cli脚手架实践(下)
vee-cli脚手架实践
44 0
|
11月前
|
前端开发 JavaScript 搜索推荐
vee-cli脚手架实践(上)
vee-cli脚手架实践
53 0
|
11月前
|
JSON 前端开发 JavaScript
vee-cli脚手架实践(中)
vee-cli脚手架实践
42 0
|
自然语言处理 Dart Java
上手指南 | Dart,随用随查
上手指南 | Dart,随用随查
上手指南 | Dart,随用随查