我打算创建一个纯Dart应用程序,其中HTTP服务器和Web客户端都是用Dart编写的.来自Java和Eclipse的最终目的是我可以在Dart编辑器中打开整个项目层次结构,并能够运行服务于客户端文件的服务器并调试应用程序的两端(服务器端使用DartVM,客户端使用Dartium) ).
我已经启动了Dart编辑器,在创建了一个简单的命令行应用程序作为服务器端的基础后,我对项目布局感到困惑.
直接服务器端代码文件(Web服务器boostrap类,处理程序和过滤器类)肯定会进入项目bin /文件夹.服务器端依赖项将进入项目的pubspec.yaml文件.
当服务器必须访问客户端应用程序文件(.dart文件,静态页面源等)以便将它们提供给浏览器时,问题就出现了.最简单的解决方案是在服务器项目中创建一个Web文件夹并将客户端Web文件放在那里,但这种方式(据我所知)服务器端依赖项被继承到客户端,因为我们仍然在同一个pubspec范围内.我不想要这个.
我考虑过在项目lib /文件夹中创建一个客户端库并将Web文件放在那里,但我不知道将完整的Web应用程序放到那里是多么好的做法.我想我必须将HTML和其他客户端静态文件放入lib的资产/子文件夹中.我很担心我会以这种方式从IDE中丢失Web应用程序辅助.
我也可以做的是将客户端放到一个单独的项目中,像Dart webapp项目一样组织它,它有自己的pubspec.yaml,然后以某种方式使它成为服务器应用程序的依赖项.我不知道这种方式服务器是否可以访问其他项目中的Web文件进行服务.这可能是最好的方法,因为它提供了客户端和服务器文件的清晰分离.
有人可以告诉我这样做的正确方法是什么?
更多解释.假设我正在使用单独的项目方法,正如其他人已经在答案中提出的那样,但我仍然希望运行能够在开发阶段为客户服务而没有任何花哨的黑客的服务器.服务器必须访问其他项目中的客户端文件.无论是Javascript还是Dart都没关系,无论如何都是静态文件.在开发过程中,我希望提供dart文件,因为Dartium可以显着提高它的直接Dart运行能力.
使用Java和Maven,我可以使客户端包成为服务器的运行时依赖,我可以简单地从类路径提供客户端文件.Dart是否支持以类似的方式访问pub依赖项的内部文件,或者唯一的方法是将所有内容放入客户端的资产文件夹中或使用相对路径hack?
这是正在进行的工作:
为了改善开发体验,您可以使用符号链接作为解决方法,以便在服务器包的目录中提供可用的客户端文件。
我建议在http://www.dartbug.com/new创建功能请求以获得更好的支持。
| 归档时间: |
|
| 查看次数: |
1291 次 |
| 最近记录: |