Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 是否可以将角度为2的省道前端与Node.js后端一起使用?_Angularjs_Node.js_Dart_Dart Polymer_Angular Dart - Fatal编程技术网

Angularjs 是否可以将角度为2的省道前端与Node.js后端一起使用?

Angularjs 是否可以将角度为2的省道前端与Node.js后端一起使用?,angularjs,node.js,dart,dart-polymer,angular-dart,Angularjs,Node.js,Dart,Dart Polymer,Angular Dart,我正在计划在我的web应用程序中使用的工具。我想使用Node.js作为服务器后端,因为它有一个对我特别有用的模块。但是,我也希望在前端使用Angular 2(省道)和Polymer.Dart。请原谅,如果答案应该是显而易见的,但如何将我的应用程序的这两个部分无缝地结合起来(并且没有转换工具),就像在平均堆栈中通常做的那样,因为Dart与JS不直接兼容 目前没有任何教程或资源可以演示这种组合。在我看来,更常见的用例是让Dart同时充当服务器后端。如何为Dart客户端应用程序提供服务 客户机和服务器

我正在计划在我的web应用程序中使用的工具。我想使用Node.js作为服务器后端,因为它有一个对我特别有用的模块。但是,我也希望在前端使用Angular 2(省道)和Polymer.Dart。请原谅,如果答案应该是显而易见的,但如何将我的应用程序的这两个部分无缝地结合起来(并且没有转换工具),就像在平均堆栈中通常做的那样,因为Dart与JS不直接兼容


目前没有任何教程或资源可以演示这种组合。在我看来,更常见的用例是让Dart同时充当服务器后端。

如何为Dart客户端应用程序提供服务

客户机和服务器可以是两个完全不绑定的不同应用程序。唯一需要的连接是,服务器可以解释客户端发送的请求,客户端可以解释响应

构建的Dart客户端应用程序类似于静态HTML,可以由任何HTTP服务器提供服务。我不知道Node.js,但我假设它有一个目录,从中提供静态内容。这是放置Dart客户端应用程序的生成输出的位置

Dart客户端和Node.js服务器之间的通信

为了使客户端和服务器能够通信,Dart需要以服务器期望的形式发送请求。您可以将REST、WebSocket、Ajax与JSON主体或协议缓冲区一起使用。 在客户端和服务器上使用相同语言的一个优点是,可以在客户端和服务器之间共享序列化为wire协议格式或从wire协议格式反序列化的模型类以及序列化/反序列化代码。在这种情况下,这是不可能的。Dart团队正在从Dart生成JS和TS,这可能最终会解决这个问题。如果您使用协议缓冲区,这也不适用,因为您可以从相同的proto文件生成两种语言的代码

开发要求

对于开发,你必须考虑你需要两个服务器。Node.js服务器是应用程序的实际服务器,也是
pub-serve
,用于快速更改和重新加载循环(避免每次更改后生成js)。
这通常由代理(例如可以是Nginx或使用shelf和shelf_代理包的自定义Dart脚本)完成,该代理将Dart源文件请求转发到
pub-serve
,并将Rest/Ajax/WebSocket请求转发到Node.js服务器

如何为Dart客户端应用程序提供服务

客户机和服务器可以是两个完全不绑定的不同应用程序。唯一需要的连接是,服务器可以解释客户端发送的请求,客户端可以解释响应

构建的Dart客户端应用程序类似于静态HTML,可以由任何HTTP服务器提供服务。我不知道Node.js,但我假设它有一个目录,从中提供静态内容。这是放置Dart客户端应用程序的生成输出的位置

Dart客户端和Node.js服务器之间的通信

为了使客户端和服务器能够通信,Dart需要以服务器期望的形式发送请求。您可以将REST、WebSocket、Ajax与JSON主体或协议缓冲区一起使用。 在客户端和服务器上使用相同语言的一个优点是,可以在客户端和服务器之间共享序列化为wire协议格式或从wire协议格式反序列化的模型类以及序列化/反序列化代码。在这种情况下,这是不可能的。Dart团队正在从Dart生成JS和TS,这可能最终会解决这个问题。如果您使用协议缓冲区,这也不适用,因为您可以从相同的proto文件生成两种语言的代码

开发要求

对于开发,你必须考虑你需要两个服务器。Node.js服务器是应用程序的实际服务器,也是
pub-serve
,用于快速更改和重新加载循环(避免每次更改后生成js)。
这通常由代理(例如可以是Nginx或使用shelf和shelf_代理包的自定义Dart脚本)完成,该代理将Dart源文件请求转发到
pub-serve
,并将Rest/Ajax/WebSocket请求转发到Node.js服务器

现在我意识到我写这个问题时的心态是不正确的。交互都在RESTAPI中(在我的例子中传递JSON)。但是,对于潜在的部署问题以及将
pub-serve
发送到Dart源文件的需要,您提出了一个很好的观点。我看到有人提到在服务器域中使用Dart的shelf。在开发我的应用程序时,我会记住你的提示。谢谢现在我意识到我写这个问题时的心态是不正确的。交互都在RESTAPI中(在我的例子中传递JSON)。但是,对于潜在的部署问题以及将
pub-serve
发送到Dart源文件的需要,您提出了一个很好的观点。我看到有人提到在服务器域中使用Dart的shelf。在开发我的应用程序时,我会记住你的提示。谢谢