将Aqueduct服务器与现有基于客户端的Dart webapp集成的最佳方法是什么?
我正在尝试将一个渡槽服务器与我现有的dart项目链接。我知道aqueducts HTTPFileController以及如何为静态文件提供服务,但我一直在寻找将dart编写的完整客户端web应用程序与aqueduct框架集成的最佳方法。也就是说,从组件调用API方法,返回用户列表或类似的内容。RPC包提供了类似这样的功能,但我想使用aqueduct,因为它更健壮,提供了更多功能 目前我的整体项目结构看起来像:任何建议都是感激的将Aqueduct服务器与现有基于客户端的Dart webapp集成的最佳方法是什么?,dart,aqueduct,Dart,Aqueduct,我正在尝试将一个渡槽服务器与我现有的dart项目链接。我知道aqueducts HTTPFileController以及如何为静态文件提供服务,但我一直在寻找将dart编写的完整客户端web应用程序与aqueduct框架集成的最佳方法。也就是说,从组件调用API方法,返回用户列表或类似的内容。RPC包提供了类似这样的功能,但我想使用aqueduct,因为它更健壮,提供了更多功能 目前我的整体项目结构看起来像:任何建议都是感激的 我的项目 构建 lib 组件 (用于html的dart组件)
- 我的项目
- 构建
- lib
- 组件
- (用于html的dart组件)
- 控制器
- (渡槽控制器)
- 型号
- (渡槽模型)
- 我的项目飞镖
- 我的项目水槽
- 组件
- 迁移
- 测试
- web
- 主飞镖
- index.html
shared
目录将是您最感兴趣的—它具有调用API的模型和服务。Flitter和Angular2应用程序都将其作为依赖项使用
在本例中,服务器通过server/
中的aqueduct-service--port 8082
运行,web应用程序通过pub-service
从angular2/
运行。随着Dart生态系统的发展,您可能会通过采用在该工具链中工作的开发/部署模式获得最佳服务
如果您计划为从Aqueduct生成的HTML/CSS/JS文件提供服务,一个好主意是在Angular2项目中使用HTTPFileController
引用build/web
文件夹。因此,您可能有如下文件夹结构:
project/
server/
pubspec.yaml
lib/
sink.dart
controllers/
model/
client/
pubspec.yaml
lib/
web/
您的路线连接如下所示:
router
.route("/*")
.pipe(new HTTPFileController("../client/build/web"));
另一种方法是使用构建脚本将文件写入服务器目录内的目录;这可能有助于部署
渡槽团队目前正在为此目的研究不同的选项和建筑工具。随着DDC的最新发布,我们更加关注于提供一个与之协同工作的工具链。(我还要看看我们团队中专注于这一部分的成员是否可以带着一些额外的想法来到这里。)
请随时联系我们,以便跟踪其进度。同样,我们也很快找到了答案。希望这有帮助。将项目分开是个好主意。通过这种方式,您可以为这两个平台分别设置依赖性约束,随着应用程序的增长,这些约束最终将变得有意义。它也将为您的部署提供最大的灵活性 );这些都是正在进行的工作,因此颤振应用程序连接到了渡槽API,而Angular2应用程序还没有接触。颤振具有类似于组件的方法
shared
目录将是您最感兴趣的—它具有调用API的模型和服务。Flitter和Angular2应用程序都将其作为依赖项使用
在本例中,服务器通过server/
中的aqueduct-service--port 8082
运行,web应用程序通过pub-service
从angular2/
运行。随着Dart生态系统的发展,您可能会通过采用在该工具链中工作的开发/部署模式获得最佳服务
如果您计划为从Aqueduct生成的HTML/CSS/JS文件提供服务,一个好主意是在Angular2项目中使用HTTPFileController
引用build/web
文件夹。因此,您可能有如下文件夹结构:
project/
server/
pubspec.yaml
lib/
sink.dart
controllers/
model/
client/
pubspec.yaml
lib/
web/
您的路线连接如下所示:
router
.route("/*")
.pipe(new HTTPFileController("../client/build/web"));
另一种方法是使用构建脚本将文件写入服务器目录内的目录;这可能有助于部署
渡槽团队目前正在为此目的研究不同的选项和建筑工具。随着DDC的最新发布,我们更加关注于提供一个与之协同工作的工具链。(我还要看看我们团队中专注于这一部分的成员是否可以带着一些额外的想法来到这里。)
请随时联系我们,以便跟踪其进度。同样,我们也很快找到了答案。希望这能有所帮助。对不起,我完全误解了这个问题。我想(为什么我不知道)OP询问的是关于将Aqueduct与现有的颤振应用程序一起使用,而不是Dart web应用程序。-否决票是不可能的?…显然你必须先编辑答案,然后我才能在否决票之后“向上投回”。所以,这意味着,在意识到这是一个错误之后,不允许改变主意。这不是很灵活,是吗?我猜如果我试图编辑它,我会得到一个不同的错误,因为这是我的编辑…对不起,我误解了所有的问题。我想(为什么我不知道)OP询问的是关于将Aqueduct与现有的颤振应用程序一起使用,而不是Dart web应用程序。-否决票是不可能的?…显然你必须先编辑答案,然后我才能在否决票之后“向上投回”。所以,这意味着打开,所以它不允许打开