gpt4 book ai didi

project - 如何组织混合 HTTP 服务器 + Web 客户端 Dart 项目文件?

转载 作者:行者123 更新时间:2023-12-03 23:55:52 26 4
gpt4 key购买 nike

我打算创建一个纯 Dart 应用程序,其中 HTTP 服务器和 Web 客户端都是用 Dart 编写的。来自 Java 和 Eclipse 的最终结果是我可以在 Dart 编辑器中打开整个项目层次结构,并能够运行为客户端文件提供服务的服务器并调试应用程序的双方(服务器端使用 DartVM,客户端使用 Dartium )。

我已经启动了 Dart Editor,在创建了一个简单的命令行应用程序作为服务器端的基础之后,我对项目布局感到困惑。

直接的服务器端代码文件(Web 服务器 boostrap 类、处理程序和过滤器类)肯定会进入项目 bin/文件夹。服务器端依赖项将进入项目的 pubspec.yaml 文件。

当服务器必须访问客户端应用程序文件(.dart 文件、静态页面源等)以便将它们提供给浏览器时,就会出现问题。最简单的解决方案是在服务器项目中创建一个 web 文件夹并将客户端 web 文件放在那里,但是这种方式(据我所知)服务器端依赖项被继承到客户端,因为我们仍然在同一个 pubspec 范围内。我不想要这个。

我考虑在项目 lib/文件夹中创建一个客户端库并将 Web 文件放在那里,但我不知道将完整的 Web 应用程序放在那里有多么好的做法。我想我必须将 HTML 和其他客户端静态文件放入 lib 的 Assets /子文件夹中。我担心我会以这种方式失去 IDE 的 Web 应用程序支持。

我还可以做的是将客户端放入一个单独的项目中,像 Dart webapp 项目一样使用它自己的 pubspec.yaml 组织它,然后以某种方式使其成为服务器应用程序的依赖项。我不知道服务器是否可以通过这种方式访问​​其他项目中的 Web 文件以进行服务。这可能是最好的方法,因为它提供了客户端和服务器文件的清晰分离。

有人可以启发我这样做的正确方法是什么吗?

更多的解释。
假设我将采用单独的项目方法,正如其他人已经在答案中建议的那样,但我仍然喜欢运行能够在开发阶段为客户端提供服务的服务器,而无需任何花哨的黑客攻击。服务器必须访问其他项目中的客户端文件。不管是 Javascript 还是 Dart,静态文件都在那里。在开发过程中,我希望提供 dart 文件,因为 Dartium 通过其直接的 Dart 运行能力显着加快了开发速度。

使用 Java 和 Maven,我可以使客户端包成为服务器的运行时依赖项,并且我可以简单地从类路径中提供客户端文件。 Dart 是否支持以类似的方式访问 pub 依赖项的内部文件,或者唯一的方法是将所有内容放入客户端的 Assets 文件夹或使用相对路径破解?

最佳答案

这是正在进行的工作:

  • prepare a Dart app for server-side deployment

  • 为了改善开发体验,您可以使用符号链接(symbolic link)作为解决方法,以便您在服务器包的目录中拥有可用的客户端文件。

    我建议在 http://www.dartbug.com/new 创建一个功能请求以获得更好的支持。

    关于project - 如何组织混合 HTTP 服务器 + Web 客户端 Dart 项目文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20884103/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com