跳转至

开始使用Aqueduct

安装

  1. 安装 Dart.
  2. 激活 Aqueduct CLI

    pub global activate aqueduct
    
  3. 创建一个新项目。

    aqueduct create my_project
    

IntelliJ IDEAtomVisual Studio Code中打开项目目录。这三种IDE都有一个Dart插件。

如何学习 Aqueduct

根据你喜欢的学习方式不同,有不同的方法。

  • 指导教程是一个动手操作的教程,在学习基本的Aqueduct概念的同时,您可以构建一个应用程序。
  • 示例库包含了一些可部署的应用程序,你可以查看或修改。
  • 指南(位于本网站的菜单中)深入探讨了Aqueduct的概念,并展示示例代码。
  • 创建一个项目,使用API参考直接跳转进去。

最好先了解HTTP请求是如何响应的(Aqueduct的基础),然后再讨论诸如ORM和OAuth 2.0之类的主题。 本教程和HTTP指南都是此信息的主要来源。 由aqueduct工具创建的项目中也有连接的示例路由供修改。

创建一个项目

aqueduct create命令行工具可以创建新的Aqueduct项目目录。默认模板包含了运行Aqueduct应用程序的最小项目结构。项目名称必须是 snake_case格式。

aqueduct create my_project_name

其他模板包含了使用Aqueduct的ORM和OAuth 2.0实现的基础代码。这些模板可以列出:

aqueduct create list-templates

你可以在创建一个项目时提供模板的名称来使用该模板:

aqueduct create -t db my_project_name

使用 Aqueduct ORM

Aqueduct的ORM使用PostgreSQL。在开发过程中,你需要一个本地运行的PostgreSQL实例。在macOS上,安装Postgres.app是一个非常方便的本地运行PostgreSQL的方法。对于其他平台,请参阅PostgreSQL的下载页面

当创建一个项目时,使用db模板。如果要添加到现有的项目中,请参阅本指南

要创建一个数据库,确保PostgreSQL正在运行并打开命令行工具连接到它。

psql

psql与Postgres.app的位置

如果你安装了Postgres.app,psql在应用程序包里。你可以通过在查找器中的状态栏中选择 Open psql来运行这个工具。

然后,创建一个数据库来连接你的应用程序,并创建一个用户来连接:

CREATE DATABASE my_database_name;
CREATE USER dart_app WITH PASSWORD 'dart';
GRANT ALL ON DATABASE my_database_name TO dart_app;

应用程序必须创建一个ManagedContext来处理与此数据库的连接:

class MyChannel extends ApplicationChannel {
  ManagedContext context;

  @override
  Future prepare() async {
    var dataModel = new ManagedDataModel.fromCurrentMirrorSystem();
    var store = new PostgreSQLPersistentStore.fromConnectionInfo(
      "dart_app", "dart", "localhost", 5432, "my_database_name");
    context = new ManagedContext(dataModel, store);
  }

  ...
}

在应用程序中声明ManagedObject之后,通过在项目目录中生成并执行迁移来生成数据库模式:

aqueduct db generate
aqueduct db upgrade --connect postgres://dart_app:dart@localhost:5432/my_database_name

有关配置数据库连接的详细信息,请参见连接到数据库用数据库测试的指南。