我们喜欢将Dart用于前端和后端。
通常的方法是使用pub作为构建工具。 Pub serve和pub build。我们将使用额外的变换器来动态编译css,用于css autoprefxing等。 好的一点是,在开发过程中,这会发生在使用pub serve的内存中。对于生产,编译只进行一次并保存在构建目录中。更改文件时,pub服务器检测到它,很好!
然而,此命令不会启动后端Dart代码。当两个都是飞镖过程时,启动两个不同的过程似乎有点奇怪。
后端应该服务于前端,提供REST api,提供websockets,处理缓存,业务逻辑等。
我们希望在开发和生产期间在相同的网络端口上运行它们。
所以问题是如何解决这个问题:
答:将服务器功能实现为转换器。 pub serve可以加载它以启动后端。为了生产,我们使用基于包的自定义http服务器创建一个dart文件:http_server并通过添加变换器添加其他服务器功能。
在这种情况下,将所有后端功能实现为变换器会感到奇怪。一些后端功能根本不会提供任何功能,因此不是真正的变压器情况。
B:在后端创建我们自己的发布服务功能始终启动我们自己的后端并包含用于开发的命令行选项。这意味着实现pub中的一些功能服务于我们的后端:检测更改,编译dart到js,更少到css,css autoprefixer,....感觉就像重新创建已经存在的内容。
C:更好的选择?
答案 0 :(得分:0)
在开发过程中,只需将请求转发给pub serve
后端的静态资源。